根据文本长度将UIBarButtonItem文本设置为大小

时间:2018-03-28 17:21:18

标签: swift uinavigationbar uibarbuttonitem

我以编程方式更改了UIBarButtonItem的文本。在大多数情况下,它运行良好,但在某些情况下,它非常长,超过了标题栏。

我正在寻找一种方法来将字体大小设置为更改以适应某个边界,因此它不会超过标题。

enter image description here

2 个答案:

答案 0 :(得分:0)

我远离编译器来测试它,但你可以尝试类似的东西:

var size = 18 - (btn.titleLabel?.text.characters.count / 3)
btn.titleLabel?.font = UIFont(name: "Helvetica" , size: size )

答案 1 :(得分:0)

更改UIBarButtomItem字体大小的最佳方法是使用自定义视图:

let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 44))
label.text = "Hello world!"
label.font = UIFont.systemFont(ofSize: UIFont.smallSystemFontSize)

let barButton1 = UIBarButtonItem()
barButton1.customView = label
...

这样,您可以控制UILabel上的字体大小,并在需要时将其缩小。