【问题标题】:UIScrollView inside UIPageViewController page scrolling issueUIPageViewController 内的 UIScrollView 页面滚动问题
【发布时间】:2013-10-05 11:04:21
【问题描述】:

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

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

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

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

【问题讨论】:

  • 链接已损坏,请上传图片,以免发生这种情况

标签: ios objective-c uiscrollview


【解决方案1】:

在你的 UIViewConroller 中实现 UIScrollViewDelegate 像

- (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];
};

...

【讨论】:

  • 这将使我有机会在滚动到内容大小之外立即切换到下一页。我需要的是能够拖到下一页,就像常规的 UIPageViewController 行为一样。
猜你喜欢
  • 2016-06-12
  • 2013-08-01
  • 2013-12-25
  • 2011-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多