UIImageView工作的圆角.但我没有得到一个圆圈

ezc*_*ing 3 uiimageview ios

我正在尝试将圆角应用于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
Run Code Online (Sandbox Code Playgroud)

链接到图像

Gus*_*osa 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
}
Run Code Online (Sandbox Code Playgroud)

  • 你真是太棒了!!! 但是真的,你从哪里得到这个?是否有任何书以适当的方式解释所有这些东西?我只是说,我编程了几个月的iOS,但我认为我没有一些(低估的......)基本的理解,比如什么时候实际上是真的吸引人.试图把它放在viewwillappear方法中,例如不起作用,虽然我认为在出现all之前的momemt应该已经设置(自动布局,帧等),应该做"重绘"应该做什么?!?! (2认同)