无法使用UIScrollView和pagingEnabled = YES禁用反弹
我有UIViewController
里面保存着UIScrollView
。
m_scrollView
与pagingEnabled=YES;
在每个“页面”我有显示文章的UIViewController。
为了防止用户在页面间滑动时弹跳,我使用了:
m_scrollView.bounces=NO;
乃至
m_scrollView.alwaysBounceHorizonal=NO;
我注意到改变只是到最后一页不反弹。 但是当其他页面滑动时,它们会弹跳。
编辑:最佳的解决scheme是使第一个和最后一页反弹(所以用户将repsond没有更多的页面\分页)和其他页面没有弹跳
在刷页时反弹的烦恼与反弹的效果并不相同。 有时它反弹得更多,而且时间更less。
我想和页面中的加载数据有关,但我不认为是这种情况,导致它也发生在所有页面被加载并且没有加载的asynchronous操作在后台发生时发生。 有任何想法吗 ?
编辑2:我猜反弹属性是关于UIScrollView的边缘,但是当从一个页面移动到另一个页面时,也是弹跳。 有时候我可以看到下一页。 例如:从第2页滑动到第3页,在滑动的animation中,我可以看到0.1秒的第4页。
而且,滑动的animation也不是恒定的。 并觉得每一个刷卡行为都有点不同。 提前致谢。
只是这样做:
_scrollView = [[UIScrollView alloc]init]; _scrollView.pagingEnabled = YES; _scrollView.bounces = NO; //Here
那么,不再弹跳!
如果你为你的UIScrollView设置了一个委托,委托将会收到scrollViewWillBeginDecelerating:
当用户将他们的手指从屏幕上提起时。 然后,您可以使用UIScrollView的setContentOffset:animated:
方法来控制最近的页面到视图中,或者使用animateWithDuration:animations:
设置您自己的animationanimateWithDuration:animations:
method – 我不确定自己的animation是否优先在已经进行的减速,虽然。
您也可以将UIScrollView的decelerationRate
设置为UIScrollViewDecelerationRateFast
,这可能会使滚动更加一致。
设置滚动条的反弹属性为假/不….它不会弹跳之后…试试吧,希望你会得到你的解决scheme….