layoutIfNeeded
在iPad上无法正常工作,但它正在iPhone上运行。我想要一个圆形按钮。在iPhone上,圆圈是正确生成的,但在iPad中它看起来像菱形。
_btnthur.layer.cornerRadius = _btnthur.frame.size.width/2;
[self._btnthur layoutIfNeeded];
预期结果:
当前输出:
答案 0 :(得分:1)
我可以在这里看到两个主要问题:
btnthur
上设置cornerRadius,但要告诉btnSat
布局。layoutIfNeeded
,您应该调用setNeedsLayout
并允许运行周期合并布局调用以提高性能。希望这会有所帮助:)
修改更新的问题:
你的角半径在第二个方面是错误的,它太大了。您可以检查在设置转角半径的位置按钮上是否正确设置了框架?
您可能想要移动代码
_btnthur.layer.cornerRadius = _btnthur.frame.size.width/2;
[self._btnthur setNeedsLayout];
进入layoutSubviews
或viewDidLayoutSubviews
(取决于视图或视图控制器),并确保在设置帧(或更重要的是,大小)时始终更新角半径。