没有为iOS 11(Xcode 9)获得适当的UI按钮形状

时间:2017-10-16 05:42:53

标签: xcode uibarbuttonitem ios11 swift4

我在导航栏中添加了一个按钮作为自定义视图。它需要是圆形的。 使用以下代码:

    let infoButton = UIButton(frame: CGRect(x: 0, y: 0, width: 24, height: 24))
    infoButton.setTitle("₹", for: .normal)
    infoButton.layer.cornerRadius = 12
    infoButton.clipsToBounds = true
    infoButton.layer.borderWidth = 1.5

    let infoItem = UIBarButtonItem(customView: infoButton)
    navigationItem.rightBarButtonItems = [infoItem]

直到现在已经正常工作但在iOS 11设备中没有获得正确的圆形

iOS 10上运行的设备的快照:

1

iOS 11上运行的设备的快照:

enter image description here

2 个答案:

答案 0 :(得分:0)

如果你想创建圆形视图,那么你不需要设置clipsToBounds但是将masksToBounds设置为true。

答案 1 :(得分:0)

像这样使用:

我在这里更改了cornerRadiuswidth

let infoButton = UIButton(frame: CGRect(x: 0, y: 0, width: 34, height: 24))
infoButton.setTitle("₹", for: .normal)
infoButton.layer.cornerRadius = infoButton.bounds.size.width / 2
infoButton.clipsToBounds = true
infoButton.layer.borderWidth = 1.5

enter image description here