如何为图像添加边框而不是图像视图?

时间:2017-12-31 14:33:29

标签: ios swift uiimageview uiimage

我正在建立一个"照片库"为我的应用程序。当用户点击图像时,我想要出现蓝色边框(以显示它已被选中)。由于我使用的是内容模式.scaleAspectFit,因此图片几乎从不占用this的完整图片视图。我希望边框就像图像本身一样this(红色边框)。我该如何做到这一点?

我的代码......

imageView.image = images[index]
imageView.contentMode = .scaleAspectFit
imageView.layer.borderColor = UIColor.blue.cgColor
imageView.layer.borderWidth = 5
imageView.clipsToBounds = true

2 个答案:

答案 0 :(得分:0)

使imageView的宽高比等于图像的宽高比[通过将所有图像创建为相同的宽高比]并赋予imageView屏幕宽度减去边框宽度

答案 1 :(得分:0)

使用UIImageView的功能无法实现这种效果。您需要定制一些东西,并且有很多方法可以达到您想要的效果。

一个简单的解决方案就是自己进行缩放。 Aspect fit非常容易计算。 Here is an example I found

计算出缩放后的图像大小后,将UIViewView的帧设置为该大小。现在你的图像将占用UIImageView的100%,你的边框将正确对齐!