本人亲测有效!更多交流可以家魏鑫:lixiaowu1129,公重好:iOS过审汇总,一起探讨iOS技术!
当我们在view中添加了一个scrollView并设置其约束后,再向scrollView中添加一个以scrollView为基准的约束的控件时,约束会报错,这是因为scrollView需要根据添加在其内部的子控件的宽高及与四周的距离计算出它的contentSize,也就是说内部子控件约束的添加需要遵循两个原则:
1、scrollView内部子控件的尺寸不能以scrollView的尺寸为参照
2、scrollView内部的子控件的约束必须完整
解决方法:
1、提供一个具体值的约束
2、子控件的尺寸可以参照scrollView以外其它的控件的尺寸(如控制器的view的尺寸)
另外,scrollView不能滑动的原因:
1、contentSize 这个属性,比scrollView的frame小就不会滚动
2、在self.view上添加scrollview 能正常滚动,向里面添加其他控件的时候,不能正常滚动:需要在viewDidLayoutSubviews中设置scrollView的contentSize
或在xib中使用autoLayout,也需要在viewDidLayoutSubviews中设置contentSize
-(void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
self.scrollView.cOntentSize= CGSizeMake(width, height);
}