我有5 UIViews
,它们包含在UIScrollView
之内。然后我将UIScrollView
的contentSize.height
设置为10,000。根据UIScrollView的高度设置UIView的高度
如何将UIScrollView
中包含的每个视图的高度更改为contentSize.height
的1/5
?另外,我想提到视图和滚动视图都是通过Interface Builder创建的。下面是一些在视图控制器的代码我已经试过的:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.scrollView.layoutIfNeeded()
scrollView.contentSize.width = UIScreen.mainScreen().bounds.size.width
scrollView.contentSize.height = 10000
myView.bounds.size.height = scrollView.contentSize.height * 1/5
print(scrollView.contentSize.height)
}
此代码将工作,并且myView
高度设置为2000,但非常第二我滚动,认为弹回原来的高度我在Interface Builder中设置。另外我想补充一点,当我打印scrollView的contentSize
时,它会像预期的那样返回10,000
。
长篇故事短片:如何制作一个UIView的高度1/5的Scroll Views内容大小?
你使用自动布局吗? – beyowulf
@beyowulf是的,我使用自动布局,但如果必须的话,我愿意禁用它。 – Harish
使用自动布局时,应更新约束而不设置框架/边界。您可以将myView的高度设置为您的scrollView的contentView的1/5,方法是选择两者,添加一个相同的高度约束,然后选择该约束并在检查器中将乘数从1更改为0.20。 – beyowulf