UIScrollview适用于iOS8,而不适用于iOS7

时间:2014-10-30 02:30:54

标签: ios uiscrollview

我有一个在iOS8中工作的scrollview,但在iOS7中没有。我的xib文件在主视图外面有滚动视图。我将scrollview添加到视图中:

helpScrollView.contentSize = helpScrollView.frame.size;
helpScrollView.frame = self.view.frame;
[self.view addSubview:helpScrollView];

我已通过将值打印到控制台来确认,此后的内容大小为320x670,窗口的帧大小为320x568。但是,在iOS7中,即使内容被截断,scrollview也不会滚动。它将在iOS8中按预期滚动。 scrollview包含一个填充scrollview的多行标签。我收到警告"自动首选最大布局不可用"所以这可能是相关的。任何帮助都会很棒!

约瑟夫

1 个答案:

答案 0 :(得分:2)

对我有用, “出于某种原因,viewDidLoad在生命周期中太早,无法在iOS 8上获得滚动视图的调整帧,但它再次适用于iOS 7. viewWillAppear也太早了,以及viewWillLayoutSubviews。

为了解决这个问题,我只是将我需要使用滚动视图的帧大小的代码移动到viewDidLayoutSubviews,它最终获得了它出现时的正确大小。“ UIScrollView frame is a different size on iOS 8 vs iOS 7