1

我对这个网站完全陌生,但我已经喜欢它了:-)

我是通过搜索有关 UIPageViewController 的问题找到的。

我有一个普通的 UIPageViewController 应用程序,在其中我打开一个 ModalViewController 来设置一些设置......

现在的问题: :-)

如果我单击 ModalView 右侧的完成按钮以将其关闭,PageViewController 会翻页,因为他认为他是指单击 ;-)

只要我打开了 ModalView,我可以禁用 PageViewController GestureRecognizer 吗?

有没有办法禁用他的识别器?

提前谢谢你的帮助...

铜马策

4

1 回答 1

2

UIPageViewController您会从其上显示的模态视图中窃取触摸,这似乎很奇怪。除非您将模态视图嵌入UIPageViewController?

要回答您的问题 - 您可以通过枚举其gestureRecognizers属性 (an NSArray) 轻松禁用页面视图控制器的手势识别器:

for (UIGestureRecognizer *gr in [self.pageViewController gestureRecognizers]) {
    [gr setEnabled:NO];
}

稍后使用 重新启用它们setEnabled:YES

更新:

在 iOS 6UIPageViewControllerTransitionStyleScroll中已添加。UIPageViewController使用此转换样式的 s 在返回的数组中不返回手势识别器gestureRecognizers。可能具有这种转换样式的页面视图控制器使用底层的私有UIScrollView实例(它的行为就像UIScrollView启用分页的情况一样),尽管我没有检查过这一点。

于 2012-02-05T18:13:22.527 回答