iOS scrollView设置约束以及不能滑动问题

来源:互联网 发布:java用int 还是integer 编辑:程序博客网 时间:2024/06/06 03:27

当我们在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

<span style="white-space: pre;"><span style="font-size:12px;"></span></span><pre name="code" class="objc" style="color: rgb(51, 51, 51); text-align: justify;"><span style="font-size:14px;">-(void)viewDidLayoutSubviews{    [super viewDidLayoutSubviews];    self.scrollView.contentSize = CGSizeMake(width, height);}</span>



0 0
原创粉丝点击