3

我想将 a 限制为一次UIScrollView只能滚动一页。

换句话说,即使用户快速滑动,我也希望将UIScrollView其限制为仅滚动一页。

有没有好的方法来做到这一点?

4

2 回答 2

6
UIScrollView *myScrollView;
...

myScrollView.pagingEnabled = YES;

当设置为 YES 时,滚动视图在滚动视图的倍数处停止。

于 2012-10-06T23:08:59.490 回答
1

如果您尚未确定滚动视图,实现此目的的一种方法是使用UIPageViewController. 我正在查看我的应用程序中的一个,此功能似乎是免费提供的。

使用 UIScrollView,我想您可能想要响应该UIScrollViewDelegate方法- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset

我在想您可以将当前的“页面”保存在一个属性中,然后在该scrollViewWillEndDragging:withVelocity:targetContentOffset:方法中您可以将目标内容偏移量修改为仅是下一页/上一页。

有一个 2012 WWDC 视频,Enhancing User Experience with Scroll Views,如果您想看到它的实际效果,它会使用这种方法。

于 2012-10-06T23:39:44.957 回答