2014-12-19 161 views
0

我从来没有在我的生活中使用自动布局,这是一段美好的时光,现在故事板脱掉了我的大脑。UIScrollView不滚动自动布局问题

这个概念也许并不坏。但它仍然是越野车,使用最糟糕。我今天工作了8个小时,设置了一个滚动视图和几个子视图。它节省了时间吗?

如果Apple想支持过继设计。为什么他们不使用Edge Reflow概念。它是为网络,但它是伟大的,没有错误....

我有所有需要的约束滚动视图,这意味着滚动视图大小将与超视图相同。

我想在-viewDidLoad方法来改变滚动视图内容大小:

[self.theScrollView setContentSize:CGSizeMake(self.view.frame.size.width, 20000)]; 

,但似乎它想要的工作。

打印出说内容大小是320 20000,但我可以滚动它。

回答

0

使用自动布局,您必须自下而上和隐式地执行操作;换句话说,不是告诉scrollView它的内容有多大,而是让scrollView根据内容的大小来调整自己。这允许自动布局解决子视图之间的约束并向上传播这些更改。

如果你要明确设置内容的大小,你可以创建一个包含了滚动的所有内容进行附加子视图,然后覆盖其intrinsicContentSize方法明确地告诉了滚动它有多大。

+0

谢谢你的回答。我还发现一个解决方案,我们添加内容视图的建议。把它钉在四面八方。然后使内容视图的高度更高并更新约束。 –

0

工作尝试。

如果你是使用自动布局,然后把它放在只有viewDidLoad中():如果您使用自动布局然后按照这个

[_mainScroll setContentSize:CGSizeMake(320, 2000)]; 

或:

先给限制滚动查看顶部,底部,前导和尾随。 现在再看一个视图,并给出与之前给出的滚动视图相同的约束。

不要忘记给附加约束该视图修复高度宽度等于到主父视图。

刚才看这个

https://www.youtube.com/watch?v=rjTS9fyWqdg