限制UIScrollView一次只能滚动到一个页面

时间:2012-10-06 23:04:09

标签: objective-c ios uiscrollview uikit uiscrollviewdelegate

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

换句话说,即使用户拍得非常快,我也希望限制UIScrollView仅滚动一页。

有没有好办法呢?

2 个答案:

答案 0 :(得分:6)

UIScrollView *myScrollView;
...

myScrollView.pagingEnabled = YES;

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

答案 1 :(得分:0)

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

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

我以为你可以抓住你当前的页面'在属性中,然后在scrollViewWillEndDragging:withVelocity:targetContentOffset:方法中,您可以将目标内容偏移量修改为仅下一个/上一个页面。

2012年WWDC视频“使用滚动视图增强用户体验”,如果您希望在行动中使用此方法,则会使用此方法。