Swift - 设置嵌套在UIButton中的图像的角半径

时间:2017-07-14 11:41:24

标签: swift uibutton

我有一个包含文字和图像的按钮,但我希​​望图像上有一个角半径。当我尝试将角半径应用于按钮时,它适用于我认为正确的整个按钮。如何将角半径设置为图像呢?

这是我的代码:

let titleButton = UIButton()
titleButton.frame = CGRect(x: 0, y: 0, width: 100, height: 40)
titleButton.setTitle("display name", for: .normal)
titleButton.setImage(#imageLiteral(resourceName: "imgName"), for: .normal)
titleButton.layer.masksToBounds = true
titleButton.layer.cornerRadius = titleButton.frame.width / 2

self.navigationItem.titleView = titleButton

3 个答案:

答案 0 :(得分:7)

UIButton上有UIImageView。因此,要设置角,只需将半径设置为图像视图的图层

titleButton.imageView.layer.cornerRadius = 5

答案 1 :(得分:0)

如果你想要圆角,那么设置高度和宽度等于

titleButton.frame = CGRect(x: 0, y: 0, width: 50, height: 50)

titleButton.layer.cornerRadius = titleButton.frame.size.width / 2.0
titleButton.layer.masksToBounds = true

如果你只想要转角,那么

titleButton.frame = CGRect(x: 0, y: 0, width: 50, height: 50)

titleButton.layer.cornerRadius = 10
titleButton.layer.masksToBounds = true

答案 2 :(得分:0)

如果您希望CornerRadius位于按钮本身而不是图像上,请添加以下行:

titleButton.clipsToBounds = true