UIScrollView里面的UIPageViewController页面滚动问题

时间:2013-09-29 15:26:32

标签: ios objective-c uiscrollview

我有一个情况 - 一个UIPageViewController,它的滚动方向是垂直的。它的所有页面都与自身高度相同。然后在每个页面内我都有一个UIScrollView,它也有垂直方向滚动。 这种架构的关键是因为我有一些文字的新闻,我希望能够用分页效果切换,但新闻文字可能比屏幕大。

现在,我完全了解了一个小问题。当您将scrollView滚动到底部时,它会反弹(如果您打开弹跳)或者只是停止(如果您关闭弹跳)。只有在你举起手指(停止触摸)后,你才能切换到UIPageViewController中的下一页。

我希望看到的是当您滚动到UIScrollView的底部时,它会自动开始滚动UIPageViewController而无需抬起手指。 我希望这是自然行为。但它仅在7中不在ios6中。

https://www.dropbox.com/s/noua5jo5trv5kn1/iOS%20Simulator%20Screen%20shot%20Sep%2029%2C%202013%207.08.03%20PM.png https://www.dropbox.com/s/m0965bff5h4eq21/iOS%20Simulator%20Screen%20shot%20Sep%2029%2C%202013%207.08.11%20PM.png

1 个答案:

答案 0 :(得分:0)

实现UIScrollViewDelegate,取消你的UIViewConroller

之类的东西
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
   if (scrollView.contentOffset.y == scrollView.contentSize.height) {
      if (self.nextPageNeededHandler) {
         self.nextPageNeedeHandler();
      }
   }
}

并阻止你的.h文件

@property (nonatomic, copy) void (^nextPageNeedeHandler)(void);

设置属性,如

...

__weak MyPageViewController *self_ = self;
nextPageVC.nextPageNeedeHandler = ^{
[self_ goNextPage];
};

...