如何阻止 UIBarButtonItem 文本被截断?

How to stop UIBarButtonItem text from truncating?

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

我尝试手动更改宽度并设置 "possibleTitles" 以包含长词,但我无法停止截断。

我正在使用自定义字体,如果这会有所不同的话。

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

[[UIBarButtonItem alloc] initWithCustomView:yourView];

只需确保您的自定义视图具有正确的框架(例如,对于 UILabel ,宽度足以不截断其内容)。一切正常。

可能有用,但是插入到 UIToolbar 中的具有自定义视图(例如:UILabel)的 UIBarButtonItem 可以采用其内容的固有大小,只要translatesAutoresizingMaskIntoConstraints 设置为 false。我相信这也适用于 UINavigationBar

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