gpt4 book ai didi

ios - 使用 scaleAspectFit 时 UIImageView 中的空白区域

转载 作者:行者123 更新时间:2023-11-28 07:20:21 31 4
gpt4 key购买 nike

这里是 an image我的问题。我的问题是我的 UIImageView 右侧有一个很小的空白空间,它被限制在我的 View Controller 的 View 中。由于我设置的背景,它是绿色的,并且在我的设备上更加突出。这很奇怪,因为考虑到图像是在手机上拍摄的并且我使用的是 scaleAspectFit,图像应该适合整个屏幕。

let imageView: UIImageView = {
let imageView = UIImageView()
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.isUserInteractionEnabled = true
imageView.contentMode = .scaleAspectFit
imageView.backgroundColor = .green
imageView.clipsToBounds = true
return imageView
}()

这是约束的代码:

func setupImageView() {
self.view.addSubview(imageView)
let imageViewConstraints = [
imageView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor),
imageView.topAnchor.constraint(equalTo: self.view.topAnchor),
imageView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor),
imageView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor)
]
NSLayoutConstraint.activate(imageViewConstraints)
}

我基本上是使用 self.imageView.image 设置图像,最后在右侧有一个空白空间,只有在使用明亮的颜色作为 imageView 背景时才会注意到。不确定这是否是错误。我不使用填充的唯一原因是我想在显示整个图像的同时保持纵横比。

最佳答案

contentMode scaleAspectFit 将保持图像的比例,显示图像的全部内容。因为你的照片比例与屏幕相同,如果你的imageView高度小于屏幕,图像显示宽度也会小于屏幕,这会导致背景绿色显示。为确保 imageView 适合屏幕,您可以在其上添加边框:

imageView.layer.borderColor = UIColor.red.cgColor
imageView.layer.borderWidth = 1.0

关于ios - 使用 scaleAspectFit 时 UIImageView 中的空白区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58389186/

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