2012-01-29 124 views
1

我完全以新来这个网站,但我已经喜欢它:-)禁用UIPageViewController时ModalViewController打开

我发现它通过搜索有关UIPageViewController问题。

我有一个正常的UIPageViewController应用程序,其中我打开设置一些设置的ModalViewController ...

现在的问题: :-)

如果我完成按钮点击ModalView的右侧,关闭它,PageViewController翻页,因为他认为他是指那个点击;-)

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

是否有一种方法可以禁用并稍后识别器?

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

铜Matze

回答

2

这似乎很奇怪,你UIPageViewController将从呈现在它模态的视图偷接触。除非,也许你正在嵌入的模态视图UIPageViewController的内容?

要回答你的问题 - 你可以很容易地通过枚举其gestureRecognizers财产(一NSArray)禁用页面视图控制器的手势识别:

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

setEnabled:YES后重新启用。

UPDATE:

在iOS 6中UIPageViewControllerTransitionStyleScroll已被添加。使用此过渡样式的UIPageViewController s在gestureRecognizers返回的数组中返回无手势识别符。据推测页面视图控制器与这种过渡样式使用底层,私人UIScrollView实例(它的行为就像一个UIScrollView启用分页),虽然我没有检查过。

+0

不工作pageviewController的手势识别器属性返回空数组::( – Johnykutty 2013-03-12 08:32:04

+0

@Johnykutty当从“基于页面的应用程序”模板在Xcode中创建一个新项目并在[[RootViewController viewDidLoad]中放置一个断点时,新初始化的'pageViewController'''gestureRecognizers'属性返回一个平移手势识别器和一个水龙头手势识别器,我建议你自己的代码可能还有其他错误,你正在检查的对象肯定是'UIPageViewController'的有效实例? – Stuart 2013-03-12 08:40:52

+0

我发现只有当transitionStyle是UIPageViewControllerTransitionStyleScroll才会发生这种情况。你知道任何方法来使用transitionstyle时禁用滚动UIPageViewControllerTransitionStyleScroll – Johnykutty 2013-03-12 08:52:35

相关问题