圆形UIImageView在某些设备上是正方形

时间:2017-10-28 09:19:35

标签: ios iphone swift cocoa-touch uiview

我的UIView中有一个UIImageView

我将UIImageView设置为圆形并为其添加边框:

self.profilePicImageView.layer.cornerRadius = self.profilePicImageView.frame.size.height / 2
self.profilePicImageView.layer.masksToBounds = true

self.profilePicImageView.layer.borderColor = UIColor.white.cgColor
self.profilePicImageView.layer.borderWidth = 3

我在viewController中初始化视图后,在将其添加为子视图(称为setupUI()的函数)之前调用它。

它在大多数设备上运行得非常好,但在大屏幕设备(iPhone 6 / 6s / 7 Plus和iPhone X)上我得到了正确的边框,但图像本身并不是圆形的。

请参阅示例:

普通iPhone:

Regular

大型iPhone(iPhone 6 / 6s / 7 Plus和iPhone X):

Large

知道问题是什么,我该如何解决?

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这段代码会对你有帮助。

imageView.layer.cornerRadius = imageHeight/2
imageView.layer.masksToBounds = true
imageView.contentMode = .scaleAspectFill