我有一个包含文本和图像的按钮,但我希望图像上有一个角半径。当我尝试将角半径应用于按钮时,它适用于我认为正确的整个按钮。如何将角半径设置为图像?
这是我的代码:
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
一个UIButton
上面有一个UIImageView
。因此,要设置角,只需将半径设置为图像视图的图层
titleButton.imageView.layer.cornerRadius = 5
如果你想要圆角,那么设置高度和宽度相等
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
如果您希望cornerRadius位于按钮本身而不是图像上,请添加以下行:
titleButton.clipsToBounds = true