iOS scrollView高级

scrollView中的2个属性delaysContentTouches,canCancelContentTouches默认都是NO 设为YES后若触摸点在子view中将不会执行scrollview的手势。 scrollview滚动的原因就是因为bounds的x,y改变。设置bounds的x,y则是设置左上角的圆点的位置。例如:设置bounds.x,y分别为20,则这个view的坐标系左上角圆点就为(20,20) 在添加子view的frame为(0,0)的话 若要定位到(0,0)的位置则需要在向后向上各20。scrollview中的contentInset的实现就是通过bounds的改变来实现的。

若scrollview有adjustedContentInset的时候,那么它的 手势(滑动)就会优先触发直到填充为止在响应子的。

scrollView中的三个属性:

safeAreaInsets安全区域的距离,这个view的位置距离安全区域的边的距离。

contentInset: 用户设置的距离。

adjustedContentInset:调整过后的上下边距。(实际中是根据这个来的ios11新出的)。

scrollView滚动是因为contenSize,contenInset也会影响他的滚动

安全区域safeAreaInsets 会影响他的子控件的显示的位置,相当于改变 scrollView的bounds,本质是改变了bounds

contentInset会增加ScrollView的滚动范围。

scrollView滚动的本质是 bounds,scrollView能滚动是取决于adjustedContentInset(ios11.0后)里面的值与contentSize里面的值相加后是否大于scrollView本事的宽度与高度。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容