我正在寫一個自定義的UIViewController,它具有類似tabbar的功能(包含用於在子視圖之間切換的控件)。當添加子控制器時,我還將子視圖添加到容器的視圖中,並且必須調整它的大小以使其不會在控件後面繪製。UIViewController.topLayoutGuide的目的是什麼?
閱讀文檔,看起來像設置topLayoutGuide
屬性是調整這些子控制器視圖的理想方法,但它是隻讀屬性,似乎沒有人找到覆蓋它的好方法。如果我不能用它來定義控制器視圖的上限,這個屬性的目的是什麼?
我正在寫一個自定義的UIViewController,它具有類似tabbar的功能(包含用於在子視圖之間切換的控件)。當添加子控制器時,我還將子視圖添加到容器的視圖中,並且必須調整它的大小以使其不會在控件後面繪製。UIViewController.topLayoutGuide的目的是什麼?
閱讀文檔,看起來像設置topLayoutGuide
屬性是調整這些子控制器視圖的理想方法,但它是隻讀屬性,似乎沒有人找到覆蓋它的好方法。如果我不能用它來定義控制器視圖的上限,這個屬性的目的是什麼?
topLayoutGuide
用於在navigationBar
可見時調整ViewControllers的高度,就像bottomLayoutGuide
用於tabBar
一樣。
您可以使用LayoutConstraints的layoutGuides來自動調整視圖。
topLayoutGuide
(和bottomLayoutGuide
)是一個NSLayoutConstraint
項目類似於視圖。通常用於將視圖約束到視圖控制器(或底部)的頂部。 Calulcated如下
當viewController
未嵌入一個navigationController
,topLayoutGuide
開始上的statusBar
如果可見的底部,否則上的viewController
頂部邊緣當viewController
被嵌入在navigationController
,topLayoutGuide
開始上的statusBar
如果不透明底部,否則被計算爲在編號1
欲瞭解更多信息,請參閱length property of UILayoutSupport