较小的按钮不能与layer.cornerRadius一起使用

时间:2017-05-24 12:01:01

标签: ios swift uibutton cornerradius

我尝试创建一个按钮并使用该代码设置样式:

    button.tintColor = UIColor.white
    button.contentEdgeInsets = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
    button.backgroundColor = .clear
    button.layer.cornerRadius = 50
    button.layer.borderWidth = 2
    button.layer.borderColor = UIColor.white.cgColor

我的按钮大小为100x100,如果我将其缩小(例如80x80,如下所示),则边框不再是圆形: Centered "circle" is 80x80 the other two are 100x100

我如何获得圆心圆?

2 个答案:

答案 0 :(得分:1)

使用以下代码

button.layer.cornerRadius = button.frame.size.width/2

确保每次高度和宽度相等。

答案 1 :(得分:0)

请将角半径设置为buttonWidth / 2。我假设你的按钮宽度和高度相等。

{{1}}