我试图将圆角应用于UIImageView。尽管角落是圆形的,但仍有4条边缘,无论半径大小,它都不会消失。删除边框也没有帮助。
这可能与自动布局限制有关吗?我做错了什么?
以下是我申请的代码:
self.imageViewProfilePicture.layer.cornerRadius = self.imageViewProfilePicture.frame.size.width / 2.0
self.imageViewProfilePicture.layer.borderWidth = 2.0
self.imageViewProfilePicture.layer.borderColor = UIColor.whiteColor().CGColor
self.imageViewProfilePicture.layer.masksToBounds = true
self.imageViewProfilePicture.clipsToBounds = true
答案 0 :(得分:8)
当您使用约束来定义imageView的宽度和高度时,最终帧将在子视图的布局之后定义。在您的情况下,只需将代码移至viewDidLayoutSubviews
:
- (void)viewDidLayoutSubviews
{
super.viewDidLayoutSubviews()
self.imageViewProfilePicture.layer.cornerRadius = self.imageViewProfilePicture.frame.size.width / 2.0
self.imageViewProfilePicture.layer.borderWidth = 2.0
self.imageViewProfilePicture.layer.borderColor = UIColor.whiteColor().CGColor
self.imageViewProfilePicture.layer.masksToBounds = true
self.imageViewProfilePicture.clipsToBounds = true
}
答案 1 :(得分:0)
尝试将borderWidth设置为0。