我正在尝试使用swift 3将我的个人资料图片显示为圆形视图。这是我的代码:
self.view.layoutIfNeeded()
self.profileImageView.image = image
self.profileImageView.layer.cornerRadius = self.profileImageView.frame.width/2.0
self.profileImageView.clipsToBounds = true
self.profileImageView.layer.masksToBounds = true
它适用于方形图像。但是,一旦图像不是方形,则不会将图像显示为圆形。为了让它将图像视图显示为圆形,我需要做什么?或者此功能仅限于方形图像?
答案 0 :(得分:3)
您的代码将角半径设为宽度的一半。当高度==宽度(因此半径也==高度/ 2)时,这样可以正常工作,否则它将无效。
要解决此问题,请添加约束以使profileImageView
平方,然后设置profileImageView.contentMode = .aspectFill
。
答案 1 :(得分:1)
在设置圆角半径之前添加self.view.layoutIfNeeded()
行。
self.view.layoutIfNeeded()
self.profileImageView.layer.cornerRadius = self.profileImageView.frame.width/2.0
self.profileImageView.clipsToBounds = true