使用AutoLayout的圆形动态视图

时间:2014-08-19 18:04:35

标签: objective-c autolayout calayer

在AutoLayout之前我可以将视图切割成圆形,并将.layer.cornerRadius设置为视图高度的一半。

现在,使用AutoLayout我怎样才能实现,我的视图看起来像一个圆圈?

我已经尝试过但失败了:

  • 使用KVO查找frame更改的时间。它被调用,但此时在视图上设置cornerRadius没有任何影响
  • 在设置-setNeedsLayout之前调用cornerRadius以获取帧值(也不起作用)

1 个答案:

答案 0 :(得分:3)

您需要在图层上设置属性masksToBounds

xyz.layer.masksToBounds = YES;

此外,这实际上不会影响自动布局的原因是因为无论角落半径如何,视图的帧都将保持不变。