Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 带自动布局的圆形动态视图_Objective C_Autolayout_Calayer - Fatal编程技术网

Objective c 带自动布局的圆形动态视图

Objective c 带自动布局的圆形动态视图,objective-c,autolayout,calayer,Objective C,Autolayout,Calayer,在自动布局之前,我可以将视图剪切成圆形,并将.layer.cornerRadius设置为视图高度的一半 现在,使用AutoLayout如何实现,使我的视图看起来像一个圆 我已经尝试过了,但失败了: 使用KVO查找帧何时更改。它会被调用,但此时在视图上设置cornerRadius没有任何效果 调用-setNeedsLayout以在设置拐角半径之前获得帧值(也不起作用) 您需要在图层上设置属性masksToBounds xyz.layer.masksToBounds = YES; 此外,这实际上

在自动布局之前,我可以将视图剪切成圆形,并将
.layer.cornerRadius
设置为视图高度的一半

现在,使用AutoLayout如何实现,使我的视图看起来像一个圆

我已经尝试过了,但失败了:

  • 使用KVO查找帧何时更改。它会被调用,但此时在视图上设置
    cornerRadius
    没有任何效果
  • 调用
    -setNeedsLayout
    以在设置
    拐角半径之前获得帧值(也不起作用)

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

xyz.layer.masksToBounds = YES;
此外,这实际上不会影响自动布局的原因是,无论其角半径如何,视图的框架都将保持不变