为什么添加一个与中心约束alignment的UIImage丢弃angular落的半径设置?

我试图把一个正方形的图像变成一个圆圈。 我正在使用这个代码来做到这一点:

profilePicture2.layer.cornerRadius = profilePicture2.frame.size.height/2 profilePicture2.clipsToBounds = true 

它完美的工作,直到我尝试通过添加一个“alignment中心X超级视图”约束中心图像在容器视图中。 当我添加这个约束时,我只是得到非常圆的angular而不是一个圆。

实际上,它似乎是angular落半径的一半。 因此,如果图像的高度为100,并且angular半径应该设置为50,则像半径值一样设为25。

没有其他约束已被添加到图像。

这里发生了什么?

在添加约束之前

约束被添加之后

在调整图像大小之前,您正在调用此代码( profilePicture2.layer.cornerRadius = profilePicture2.frame.size.height/2 )。 您需要在自动布局完成后执行此操作。 问题是,在开始的图像是(例如)100点宽,你设置angular点半径为50点。 之后,自动布局调整图像大小(再次举例)300点,但你的angular落半径仍然是50分。 自动布局完成后,您只需要进行更新。

或者,如果你不想有一个很大的图像,请确保你在宽度和高度上的约束,只是在超视图的中心。