Ios 如何为不使用';不要占据整个父视图
我正在尝试构建类似ios照片库的UI:导航视图控制器,滚动视图占据父视图的80%高度和100%宽度,集合视图控制器占据其余高度和100%宽度。下面是它的样子: 蓝色区域是scrollview及其内容视图。底部是一个集合视图,其行为类似于旋转木马。您可以在以下屏幕截图中看到我设置的约束: : 我想设置scrollview高度,使其仅占据父视图属性的80%,而集合视图占据其余部分。但是,我似乎无法解决scrollview约束问题,例如autolayout无法解决scrollview的高度/y位置。如上图所示,我尝试将scrollview的高度设置为父视图的50%,但autolayout仍然抱怨无法解析高度。如果我让interface builder解决这个问题,它只会在scrollview中为内容视图添加间距,并将其向下推。您可以在下面的屏幕截图中看到这一点Ios 如何为不使用';不要占据整个父视图,ios,interface-builder,scrollview,ios-autolayout,Ios,Interface Builder,Scrollview,Ios Autolayout,我正在尝试构建类似ios照片库的UI:导航视图控制器,滚动视图占据父视图的80%高度和100%宽度,集合视图控制器占据其余高度和100%宽度。下面是它的样子: 蓝色区域是scrollview及其内容视图。底部是一个集合视图,其行为类似于旋转木马。您可以在以下屏幕截图中看到我设置的约束: : 我想设置scrollview高度,使其仅占据父视图属性的80%,而集合视图占据其余部分。但是,我似乎无法解决scrollview约束问题,例如autolayout无法解决scrollview的高度/y位置。
正如我从上面看到的,请执行以下操作
您的视图继承人权限设置正确,因此非常好,并且您在添加约束的正确轨道上。我将从步骤1开始编写所有约束
- 在
中,向UIScrollView
添加顶部、前导和尾随约束。还可以在superView
和UIScrollView
之间添加等高约束,并将乘数设置为0.8superView
- 现在将您的
添加到UICollectionView
下面,并为其指定一个UIScrollView
超级视图的前导、尾随和底部。同时在
和UICollectionView
之间添加垂直间距李>UIScrollView
- 现在,在
中添加contentView。将contentView的前导、顶部、底部和尾部添加到UIScrollView
。一旦您这样做,约束就会中断,Xcode就会抱怨现在您需要做的是在UIScrollView
和contentView之间添加一个相等的高度和宽度约束。将此等高约束的优先级设置为250左右(假设您想要垂直滚动),以便在UIScrollView
中的内容变得太大而无法完全显示时,该约束会中断UIScrollView
- 现在,在
UIScrollVIew
的UIViewController
,然后为此UIViewController
选择属性检查器,然后取消选中调整滚动视图插入选项。有关屏幕截图,请检查
我没想到会有这么全面的答复。非常感谢你!我以前从未使用过优先级,你的回答教会了我一些新的东西。也谢谢你。