iOS SDK:转角半径显示不正确

Nik*_*nov 2 uibutton uiview ios swift

这是我在Sketch中设计的屏幕:

在此处输入图片说明

有两个按钮。现在,我正在Xcode中设计这样的按钮,并以这种方式设置UIButton的角半径:

layer.cornerRadius = 30
clipsToBounds = true
Run Code Online (Sandbox Code Playgroud)

但是结果是我有些奇怪:

在此处输入图片说明

如果按钮的左侧和右侧,您会看到中间的某个角。我能做什么?

rdu*_*and 5

要在这样的按钮上生成圆角,如果将cornerRadius值设置为30,则假定按钮的高度设置为60

并非在所有设备上都如此,这取决于您处理布局的方式。看到您的图像,看起来按钮的高度比您设计的略小。

两种选择:

  1. 使用“自动布局”并在按钮上添加一个“固定高度”约束,其值为60,因此您的按钮始终具有60点的高度。
  2. 实现一个UIButton子类,然后在layoutSubviews方法中将cornerRadius的高度设置bounds为按钮高度的一半。这样,每当系统重新绘制按钮时,拐角半径都会适当更新。