我正在建立一个"照片库"为我的应用程序。当用户点击图像时,我想要出现蓝色边框(以显示它已被选中)。由于我使用的是内容模式.scaleAspectFit
,因此图片几乎从不占用this的完整图片视图。我希望边框就像图像本身一样this(红色边框)。我该如何做到这一点?
我的代码......
imageView.image = images[index]
imageView.contentMode = .scaleAspectFit
imageView.layer.borderColor = UIColor.blue.cgColor
imageView.layer.borderWidth = 5
imageView.clipsToBounds = true
答案 0 :(得分:0)
使imageView的宽高比等于图像的宽高比[通过将所有图像创建为相同的宽高比]并赋予imageView屏幕宽度减去边框宽度
答案 1 :(得分:0)
使用UIImageView的功能无法实现这种效果。您需要定制一些东西,并且有很多方法可以达到您想要的效果。
一个简单的解决方案就是自己进行缩放。 Aspect fit非常容易计算。 Here is an example I found
计算出缩放后的图像大小后,将UIViewView的帧设置为该大小。现在你的图像将占用UIImageView的100%,你的边框将正确对齐!