ios - UINavigationBar 大标题在执行 segues 时不调整大小

标签 ios swift uinavigationcontroller preferslargetitles

我在我的主 UIViewController 中使用了这段代码来获得一个大标题:

navigationController?.navigationBar.prefersLargeTitles = true

但我不希望在每个 View 中都出现这种情况,实际上我只想在主视图中显示大标题。

因此,通过在线阅读,我发现要实现这一点,我需要在我不想要那么大标题的 View 中添加:

navigationController?.navigationItem.largeTitleDisplayMode = .never

但这并没有真正按预期工作。

我得到的结果是,当我执行 segue 时,标题消失了,但导航 Controller 保持相同的大小,就好像里面有一个大标题一样。

我的实现可能有什么问题?

iOS 12.1 测试版 3
Xcode 10.1 测试版 2

最佳答案

您应该将 largeTitleDisplayMode 更改为 .never 以代替 view controllernavigationItem

navigationItem.largeTitleDisplayMode = .never

或者,如果您使用 Storyboard,则可以在导航项的属性检查器中将大标题选项设置为从不:

Navigation Item settings - Large Title set to Never

关于ios - UINavigationBar 大标题在执行 segues 时不调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52749633/

相关文章:

ios - NSFontAttributeName 与 NSAttributedStringKey.font

ios - 如何限制API调用次数?

swift - SpriteKit 记住哪个 Sprite 被触摸

ios - 如何向从照片框架获取的 PHAsset 添加分页?

ios - UINavigationController:确定后退按钮是否被按下或 popViewController 动画

ios - initWithFrame 被赋予空帧

ios - 调配私有(private)框架 iOS API 的方法

ios - XCTest - 等待谓词失败

swift - 为什么来自 UIImagePickerController 的图像有时会被错误地裁剪?

ios - UISplitViewController 中嵌入的 UIViewController 在 iPhone 上不显示栏按钮