iOS 7 iPad:UITableView在UIPageViewController中进行滑动删除(冲突手势识别器)

我正在iOS 7 iPad应用程序的“用户configuration文件”部分工作。 在这个领域,我们通过一系列页面向用户介绍他们自己的信息 – 传记信息,家庭,联系信息等。我设置的方式是通过UIPageViewController,其中用户configuration文件的每个页面是它自己的UIViewController(带有一个UIScrollView,因为每个页面都可以变长),这样用户就可以在页面之间平滑地滑动。 在一些页面上,我们也有UITableViews(不占用整个屏幕,因为这是一个iPad应用程序,而不是iPhone应用程序),供用户添加信息。 因此,这些页面上的总体简化视图层次将是:

UIPageViewController
UIScrollView中
UITableView的

我希望用户能够使用滑动删除手势从UITableView中删除单元格。 不幸的是,在UITableView中激活滑动删除的平移手势被UIPageViewController拾取,并滚动到下一页,而不是显示删除button。 获得删除button显示是非常不一致的 – 可能是9倍,10将滚动到下一页,而不是。

理想情况下,我将访问UIPageViewController的平移手势识别器,并尝试设置它与UITableView的平移手势识别器之间的一些依赖关系,或者让UIPageViewController的手势识别器不在UITableViewController区域内触发某些逻辑。 但是,由于这种现象 (无论是错误还是function),我不能访问UIPageViewController的手势识别器,所以我不能做像设置他们的委托和覆盖像gestureRecognizerShouldBegin方法的东西。 我也无法获得UIPageViewController视图的手势识别器。

有没有人有任何想法来解决这个问题?

我不知道如何可靠地进入页面vcs手势识别器。 我能给的唯一想法是如何临时启用/禁用它们。 我不能保证它是可接受的,因为我没有提交应用程序,但它看起来对我来说犹太人:

- (void)setScrollEnabled:(BOOL)enabled onPageViewController:(UIPageViewController *)pvc { for (UIScrollView *view in pvc.view.subviews) { if ([view isKindOfClass:[UIScrollView self]]) { view.scrollEnabled = enabled; } } } 

如果可以的话,这是UIPageViewController类别方法的一个很好的select。