如何让Swil中的UILabel成为一个圆圈

App*_*Guy 9 ios swift

我试图让Swift中的UILabel成为一个完美的圆圈,我目前正在使用以下内容:

pResult.layer.masksToBounds = true
pResult.layer.cornerRadius = 125
Run Code Online (Sandbox Code Playgroud)

这个问题是它在6s Plus上工作正常,但任何其他尺寸当然都是不同的形状 - 最好的方法是什么?

小智 21

圆角或整圆?无论如何,假设您需要第二个选项,您应该在故事板上将宽高比(宽度:高度)约束为1:1,因此标签始终为正方形.然后,在代码中,您可以执行类似的操作

pResult.layer.cornerRadius = pResult.frame.width/2
Run Code Online (Sandbox Code Playgroud)

无论屏幕大小如何,总是让它成为一个完美的圆圈.

  • 您还应该添加 pResult.layer.masksToBounds = true (3认同)
  • 不适合我。添加 `pResult.layer.masksToBounds = true` 修复了它。 (2认同)

iMu*_*hid 8

如果你想制作完美的圆形,那么首先要确保你的标签宽度和高度相同.

pResult.layer.cornerRadius = CGRectGetWidth(pResult.frame)/2
pResult.layer.masksToBounds = true
Run Code Online (Sandbox Code Playgroud)

参考


pan*_*hay 5

如果您使用的是 swift 3,请尝试以下操作:

lblRoundDot.layer.cornerRadius = lblRoundDot.frame.width/2
lblRoundDot.layer.masksToBounds = true
Run Code Online (Sandbox Code Playgroud)