UIScrollView setContentSize使用自动布局中断视图

时间:2012-11-18 10:29:10

标签: iphone objective-c uiscrollview autolayout

我在我的iPhone应用中使用自动布局并拥有UIScrollView。当我的应用运行时,我需要在几个点更改滚动视图的内容大小(因此在viewWillAppear中设置内容大小是无用的,因为我已在其他地方看到过此建议。)

当我更改它时,我的子视图会跳转,大概是因为它打破了自动布局约束。

那么如何在启用自动布局的情况下更改滚动视图内容大小?

感谢。

2 个答案:

答案 0 :(得分:14)

我遇到了同样的问题,我知道这不是最终的解决方案,但是现在,通过将代码放在viewWillLayoutSubviews中,而不是在viewDidLayoutSubviews中调用它,它允许我在viewController执行默认业务后设置contentSize:)

希望有所帮助。

答案 1 :(得分:0)

viewWillLayoutSubviews中测试您的代码。 Apple说:

  

当视图的边界发生变化时,视图会调整其位置   子视图。您的视图控制器可以覆盖此方法   视图之前的更改将显示其子视图。默认   这个方法的实现什么都不做。

UIViewController Class Reference