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本事的宽度与高度。
网友评论