我有一个包含文字和图像的按钮,但我希望图像上有一个角半径。当我尝试将角半径应用于按钮时,它适用于我认为正确的整个按钮。如何将角半径设置为图像呢?
这是我的代码:
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
答案 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