我的ViewController
UIScrollView
包含View
,其中包含可变大小的内容。
- ViewController
-ScrollView
-View
-label1
-label2
- ...
当调用控制器的viewDidLoad
时,我将UIScrollView
的内容大小设置为适当的高度,但视图不会滚动。如果我通过按钮上的操作调用相同的行,它会更新contentSize
并正确滚动。我正在使用autolayout
。知道为什么以及如何解决它?
视图不会滚动:
- (void)viewDidLoad
{
[super viewDidLoad];
[_scrollView setContentSize:CGSizeMake(100,500)];
}
视图将正确滚动:
- (IBAction)test:(id)sender
{
[_scrollView setContentSize:CGSizeMake(100,500)];
}
答案 0 :(得分:1)
请勿在{{1}}中设置内容大小。在viewDidLoad
答案 1 :(得分:1)
ViewDidAppear还保证您的视图已加载并初始化但viewdidAppear在viewDidLayoutSubviews之后触发。如果你在ViewDidLoad中进行大型编码,那么你的ViewController会在显示中延迟显示
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:NO];
[_scrollView setContentSize:CGSizeMake(100,500)];
}
答案 2 :(得分:0)
首先ScrollView添加新的约束,然后下一个label1和label2添加约束,然后最终的View视图可以添加约束。