UIScrollView不滚动自动布局问题

时间:2014-12-19 17:58:19

标签: ios objective-c xcode6 autolayout ios-autolayout

我从未在生活中使用过汽车布局,这是一段美好的时光,现在故事板让我大脑消失了。

这个概念可能并不坏。但它仍然是有缺陷的,也是最糟糕的。我今天工作过,花了8个小时来设置一个滚动视图和几个子视图。它节省了时间???

如果Apple想支持收养设计。为什么他们不使用Edge Reflow概念。它适用于网络,但它很棒而且没有错误......

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

我正在尝试更改-viewDidLoad方法中的滚动视图内容大小:

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

但似乎想要工作。

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

2 个答案:

答案 0 :(得分:0)

使用autolayout,你必须自下而上地隐式地做事;换句话说,不要告诉scrollView它的内容有多大,你让scrollView根据其内容的大小调整自己。这允许自动布局解决子视图之间的约束并向上传播更改。

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

答案 1 :(得分:0)

工作尝试了。

如果你使用autolayout,那么只把它放在 viewDidLoad()

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

或者如果您使用自动布局,请按照以下步骤操作:

首先将约束赋予scrollview top,bottom,leading和trailing。 现在再看一个视图并给出与之前给出的scrollview相同的约束。

不要忘记为该视图修复高度宽度等于给主视图提供额外约束。

只需观看

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