设置UIViewController的边距/约束条件

问题描述:

有什么方法可以为UIViewControllers设置边距或约束条件吗?设置UIViewController的边距/约束条件

我有这样的结构

UIWindow 
- UINavigationController 
    - UICollectionView 

我想布局,使UINavigationController的不使用UICollectionView状态栏下方的空间,并在UINavigationController的我的自定义工具栏下未使用的空间。

是否有任何方式来设置视图控制器的约束(以编程方式)类似于你如何设置视图?或者其他方式来实现这种行为?

我的UICollectionView具有不同的背景颜色,并且当前也在状态栏下设置。

+0

您不能设置控制器限制,只有在视图上,所以你的问题的解决方案是在设置适当的视图约束来实现你需要的层次结构。 – Adis 2014-11-04 17:15:38

+0

我将如何去设置约束的意见,使集合视图,最好也是导航控制器不会被置于状态栏下? – Runeborg 2014-11-04 18:08:36

对于收集视图(和表视图以及其他UIScrollView子类),您确实希望它们显示在导航栏和状态栏下(如果栏是半透明的),滚动时将看到内容。

你不想要的是内容卡在这些酒吧下,因此无法看到。您可以通过设置滚动视图的contentInset属性来完成此操作,以便内容不需要滚动视图的顶部部分可见。

下面是如何设置的contentInset属性,因此该内容不会与底部的状态栏和导航栏在顶部和标签栏的干扰:

self.collectionView.contentInset = UIEdgeInsetsMake(64.0f, 0.0f, 49.0f, 0.0f);