Use the increased navigation-bar title in iOS 11

前端 未结 6 770
再見小時候
再見小時候 2021-01-30 02:24

iOS 11 Beta 1 uses the increased navigation-bar title for almost all system-apps (it started doing this in iOS 10 and the Music app). I am wondering if Apple has a public API fo

6条回答
  •  旧时难觅i
    2021-01-30 03:03

    UINavigationBar has a prefersLargeTitles: Bool property. Docs here.

    class UINavigationBar {
       var prefersLargeTitles: Bool
    }
    

    UINavigationItem has a largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMode property. Docs here.

    class UINavigationItem {
       var largeTitleDisplayMode: LargeTitleDisplayMode
    }
    

    Both of these can be modified in the Interface Builder.

    To turn on this behavior set navigationController.navigationBar.prefersLargeTitles to true. Then you can control each individual view controller in the navigation controller stack by setting navigationItem.largeTitleDisplayMode.

    The general design guidelines by Apple are that large titles shouldn't be used everywhere (for example, the Clock app does not use them), and it's generally preferred that only the first level of the navigation controller uses the large titles. However, these are just general guidelines.

    Large titles are introduced in What's New in Cocoa Touch video (7:37).

提交回复
热议问题