我正在写一个自定义的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