如果后退按钮文本太长,则在下一行显示视图标题

Display View Title on Next Line if Back Button Text Too Long

这是我尝试编写 iOS 应用程序的第一天,我已经遵循了 Apple 网站和其他一些网站上的教程,所以请多多关照。到目前为止实际上进展顺利!

我的主要视图是公司联系人列表。点击联系人会转到显示该联系人详细信息的视图。我已将我的视图嵌入到导航视图中,并且导航一切正常。在联系人详细信息视图中,视图标题 (self.title) 被设置为 viewDidLoad 函数中的人员姓名。

我遇到的问题是联系人详细信息视图标题栏中 'back' 导航按钮的文本是从主视图的标题派生的,正如预期的那样,但是该文本足够长,可以将联系人详细信息视图的标题 - 此人的姓名 - 推到右侧,如下所示:

我想知道这是否是 iOS 应用程序的预期和正确行为,或者我是否应该尝试将联系人详细信息视图的标题显示在与后退导航按钮不同的行上,并且,如果那么,我会怎么做。

我知道我可以覆盖后退导航按钮的文本(事实上,如果我的主控制器的标题设置得更长一些,它会自动设置为 "Back",有趣的是),但那是行不通的解决一个人名字特别长的问题!

您看到的确实是 correct/expected 行为。

如果您不喜欢那个后退按钮文本,您可以随时更改或删除它:

    let backButtonItem: UIBarButtonItem = UIBarButtonItem()
    backButtonItem.title = "" // Set your custom text here
    navigationItem.backBarButtonItem = backButtonItem

如果您想制作 multi-line 标题,您必须通过创建自己的 UINavigationBar 子类或在 [=13] 上设置自定义 titleView 来自定义它=] 并设置一个自定义视图,您可以在其中呈现多行。