navigation bar large title踏幻,放大的 navigation bar
範(fàn)例: Setting App
controller 個(gè)別控制 navigation bar 是否放大
讓 navigation bar 放大自点。
將 navigation bar 的 prefersLargeTitles 設(shè)成 true韩脏。
open var prefersLargeTitles: Bool
每個(gè)頁(yè)面的 navigation item 可控制 navigation bar 是否放大,透過(guò) largeTitleDisplayMode幕庐。
open var largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMod
automatic?: 以前一頁(yè) navigation item 的 largeTitleDisplayMode 為準(zhǔn)久锥。
always: 放大。
never: 不放大异剥。
public enum LargeTitleDisplayMode : Int {
case automatic
case always
case never
}
捲動(dòng)後 navigation bar 縮小
當(dāng)畫面上的 Scroll View, Table View, Collection View, Text View 捲動(dòng)時(shí)瑟由,都可以讓 navigation bar 縮小。
捲動(dòng)後在 navigation bar 裡顯示 search bar
透過(guò) navigation item 的 2 個(gè)屬性冤寿。
open var searchController: UISearchController?
open var hidesSearchBarWhenScrolling: Bool
Safe Area
View 的 safe area 控制內(nèi)容呈現(xiàn)的範(fàn)圍歹苦。
class UIView {
var safeAreaLayoutGuide: UILayoutGuide { get }
var safeAreaInsets: UIEdgeInsets { get }
func safeAreaInsetsDidChange()
}
勾選 Use Safe Area Layout Guides 後,Top Layout Guide 和 Bottom Layout Guide 被拿掉督怜,變成使用 Safe Area殴瘦。
範(fàn)例 1:
圖片的上下左右間距,分別對(duì)應(yīng)到 Safe Area 的 trailing号杠,leading蚪腋,bottom 和 top。
範(fàn)例 2:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
print(view.safeAreaInsets)
print(view.safeAreaLayoutGuide)
}
標(biāo)準(zhǔn)大小的 navigaiton bar 時(shí)姨蟋,safe area 的 top inset 是 64
UIEdgeInsets(top: 64.0, left: 0.0, bottom: 0.0, right: 0.0)
放大版的 navigaiton bar 時(shí)屉凯,safe area 的 top inset 是 116。
UIEdgeInsets(top: 116.0, left: 0.0, bottom: 0.0, right: 0.0)