高分辨率屏幕上的 UIButton 圆角半径

UIButton corner radius on high resolution screens

我正在尝试在 Swift 中创建一个圆形 UIButton。 该按钮的宽度和高度为 112 像素,下面的代码在屏幕最多为 4 英寸的设备上运行良好。

button.layer.masksToBounds = false;
button.layer.cornerRadius = button.bounds.size.height/2;
button.clipsToBounds = true;

对于更大的屏幕,按钮变成这样:

有什么想法吗?

提前致谢。

在自动布局调整按钮大小后,您需要调整 cornerRadius。在 viewDidLayoutSubviews:

的覆盖中执行此操作
override func viewDidLayoutSubviews() {
    button.layer.cornerRadius = button.bounds.size.height/2
}