我有一个UIScrollView
,在viewDidAppear
我设置了contentSize
:
- (void)viewDidAppear:(BOOL)animated{
CGSize scrollContentSize = CGSizeMake(320, 9200);
self.scrollView.contentSize = scrollContentSize;
}
这段代码肯定在运行。
但是,视图不会滚动。我连接了一个按钮来记录contentSize
,它返回0,0。如果我再次设置contentSize
按钮,则可以正常工作。
我没有在我的代码中的任何其他位置引用scrollView
,可能将contentSize
设置为0,有什么方法可以阻止它这样做,或者运行我的设置后来在设置视图的过程中?
答案 0 :(得分:0)
如果您使用了Autolayout,那么您必须为其中的子视图制定约束。然后Autolayout将自动计算其内容大小。
但是当我通过按钮动作设置内容时,它有效吗?怎么样?
当视图再次重新滚动滚动视图时,将根据约束计算。因此,当您旋转设备/重新布局视图时,它将无法工作。
我不想使用自动布局?现在是什么?
然后你可以设置内容。
还有一件事,最好的做法是在少数生命周期方法上调用超级实现。 所以这样做。
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
// Your code here
}