iOS 11 下如何为不同 UIViewController 设置开关 LargeTitles

iOS 11 为 UINavigationController 引入了一个 LargeTitles 的效果,可以通过在 UINavigationController 上设置 prefersLargeTitles = true 的形式开启。那么如何设置只为其中一个 UIViewController 开启大标题效果,而为其他的 UIViewController 关闭大标题效果呢?

很简单,只要记住,UINavigationController 只有一个 UINavigationBar,但子 UIViewController 每个都有各自的 UINavigationItem 来控制具体的效果。

通过设置 UIViewController 的 UINavigationItem 的 largeTitleDisplayMode,可以达到精准控制大标题效果:

  • automatic:上一个 Controller 是什么效果,当前 Controller 就是什么效果;
  • always:不管上一个 Controller 是什么效果,当前 Controller 始终是大标题效果;
  • never:不管上一个 Controller 是什么效果,当前 Controller 始终不是大标题效果。

构建你的互联网档案

MarkMark

MarkMark 是一款全新的应用程序,专为帮助你收集和整理文章、网站和各类网页而设计。它不仅仅是一个书签应用或稍后阅读应用,而是超越了这些功能。

1 Comment

NB 把所有细节都罗列的这么详细

Leave a Comment