如何防止UIBarButtonItem文本被截断?

4

我在导航栏中有一个文本标题为“保存”的UIBarButtonItem。当我转换到全屏的UIPopoverController,然后关闭它时,我的UIBarButtonItem中的文本被截断为“S..e”。对于所有其他转场和视图,我返回时都没有问题。

我尝试手动更改宽度并设置“possibleTitles”以包括长单词,但我无法阻止缩短。

如果使用自定义字体会有所不同。

2个回答

4

尝试使用自定义视图初始化您的 UIBarButtonItem。

[[UIBarButtonItem alloc] initWithCustomView:yourView];

只需确保您的自定义视图具有正确的框架(例如,对于UILabel,宽度足够以不截断其内容)。事情应该能正常工作。


这似乎是唯一正确的方法。我也能通过在单词末尾添加一个空格“ ”来实现这个结果。令人沮丧的是,你需要采用一些小技巧或过多的代码来修复本不应存在的问题。感谢您的帮助! - David P

3

或许会有帮助,但是将自定义视图(如UILabel)插入到UIToolbar中的UIBarButtonItem可以采取其内容的内在尺寸,只要将translatesAutoresizingMaskIntoConstraints设置为false。我相信这也适用于UINavigationBar

private let barButtonLabel: UIBarButtonItem = {
    let label = UILabel(frame: .zero)
    label.translatesAutoresizingMaskIntoConstraints = false
    return UIBarButtonItem(customView: label)
}()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接