无法使用UIScrollView和pagingEnabled = YES禁用退回

per*_*200 17 iphone objective-c ios

我把UIViewControllerUIScrollView放在里面.

m_scrollViewpagingEnabled=YES;

在每个"页面"上我都有显示文章的UIViewController.

为防止用户在页面之间滑动我使用的弹跳:

m_scrollView.bounces=NO;

乃至

m_scrollView.alwaysBounceHorizonal=NO;

我注意到更改只是最后一页没有反弹.但是当刷其他页面时,它们会反弹.

编辑: 最佳解决方案是使第一页和最后一页反弹(因此用户将获得repsond,没有更多的页面\分页)和其他页面没有弹跳

滑动页面时弹跳的烦人是弹跳效果并不相同和相同.有时它反弹得更多,而且时间更短.

我认为与页面中的加载数据有关,但我不认为是这种情况,因为当所有页面都被加载并且后台没有发生加载的异步操作时也会发生这种情况.有任何想法吗 ?

编辑2: 我想反弹属性是关于UIScrollView的边缘,但是当从一个页面移动到另一个页面时,也会弹跳.有时我可以看到下一页的一些内容.例如:从第2页滑到第3页,在滑动动画中我可以看到0.1秒第4页.

此外,滑动动画不是恒定的.并且它觉得每次滑动都没有什么不同.提前致谢.

Bru*_*Lee 16

这样做:

_scrollView = [[UIScrollView alloc]init];
_scrollView.pagingEnabled = YES;
_scrollView.bounces = NO; //Here
Run Code Online (Sandbox Code Playgroud)

然后,不再弹跳!


Sco*_*bes 1

如果您为 UIScrollView 设置委托,则scrollViewWillBeginDecelerating:当用户将手指从屏幕上抬起时,委托将收到消息。然后,您可以使用 UIScrollView 的setContentOffset:animated:方法来控制将最近的页面滚动到视图中,或者使用方法 \xe2\x80\x93 设置您自己的动画animateWithDuration:animations:我不确定您自己的动画是否会优先于已经存在的动画- 不过,正在进行减速。

\n\n

您还可以将 UIScrollView 设置decelerationRateUIScrollViewDecelerationRateFast,这可能会使滚动在这种情况下更加一致。

\n