ModalViewController打开时禁用UIPageViewController

时间:2012-01-29 16:40:44

标签: xcode4 uigesturerecognizer uipageviewcontroller

我完全是这个网站的新手,但我已经喜欢了: - )

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

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

现在问题:: - )

如果我点击ModalView右侧的完成按钮,要关闭它,PageViewController会转动页面,因为他认为他是指单击的意思; - )

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

是否有禁用和后来识别器的方法?

提前感谢您的帮助......

cu Matze

1 个答案:

答案 0 :(得分:2)

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

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

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

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

<强>更新

在iOS 6中添加了UIPageViewControllerTransitionStyleScrollUIPageViewController使用此转换样式的gestureRecognizersUIScrollView返回的数组中不返回任何手势识别器。据推测,具有此转换样式的页面视图控制器使用底层的私有UIScrollView实例(它的行为就像启用了分页的{{1}}一样),尽管我没有检查过这个。