gpt4 book ai didi

ios - Swift scaleAspectFit 仅图像高度

转载 作者:行者123 更新时间:2023-11-30 12:38:47 24 4
gpt4 key购买 nike

我的 Swift 代码中有这个 ImageView

let background_image: UIImageView = {
let im = #imageLiteral(resourceName: "backg")
let view=UIImageView()
view.contentMode = .scaleAspectFit
view.image=im
return view
}()

我的background_image的大小是300x300,但我不知道im的大小。我希望im的宽度始终是300,但我不想缩小高度,我只想显示适合UIImageView的300px

最佳答案

您需要使用宽高比,并使用已知的宽度 300,还需要将 UIImageView 内容模式设置为 aspectFit

此代码示例使用 SDWebImage 进行图像加载,但您可以使用任何其他

self.newsImageView.sd_setImage(with: URL as URL, placeholderImage: UIImage(named: "genericImageR"), options: SDWebImageOptions(), completed: { (image, error, type, url) in
DispatchQueue.global().async {
DispatchQueue.main.async {
if(image != nil)
{
//your downloaded image aspect ratio
let aspectRatio = (image! as UIImage).size.height/(image! as UIImage).size.width
self.newsImageView.image = image
if(self.imageWasLoaded != nil)
{
//your know width 300, but if you want you can use the width of your component
self.imageWasLoaded!(self.newsImageView.frame.size.width * aspectRatio)
}
}
}
}
})

并使用 300*aspectRatio 的高度结果调整您的 UI

希望对你有帮助

关于ios - Swift scaleAspectFit 仅图像高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42516214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com