Swift 4 - 获得按钮宽度的一半

Swift 4 - Getting half the width of a button

我正在尝试制作一个完全圆形的按钮。我在代码中创建了它并设置了这样的约束:

    addButton.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.2).isActive = true
    addButton.heightAnchor.constraint(equalTo: addButton.widthAnchor).isActive = true
    addButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -30).isActive = true
    addButton.rightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.rightAnchor, constant: -30).isActive = true

然后我尝试使用这个设置按钮的角半径:

    addButton.layer.cornerRadius = 
    addButton.layer.masksToBounds = true

但是我不知道在圆角半径里放什么。我试过 frame.width / 2 但按钮仍然是方形的。我需要获取宽度约束的值,但无法将其转换为 CGFloat。

关于如何做到这一点有什么建议吗?

谢谢

里面viewDidLayoutSubviews

addButton.layer.cornerRadius = self.view.frame.width * 0.1 

您可以使用 @Sh_Khan (url: ) 发布的上述答案,也可以使用以下答案:

addButton.layer.cornerRadius = addButton.widthAnchor.constant / 2.0
addButton.clipToBounds = true

记得把一个UIObject做成完整的圆形,让它的高度和宽度相等或者长宽比为1:1。将 clip to bounds 设置为 true 并将角半径设为宽度或高度的一半。