【问题标题】:iOS 7 iPad: UITableView swipe-to-delete in a UIPageViewController (conflicting gesture recognizers)iOS 7 iPad:UIPageViewController 中的 UITableView 滑动删除(手势识别器冲突)
【发布时间】:2014-02-24 15:24:47
【问题描述】:

我正在开发 iOS 7 iPad 应用程序的“用户配置文件”部分。在这个区域,我们引导用户浏览一系列页面,他们在其中输入有关自己的信息 - 传记信息、家庭、联系信息等。我设置它的方式是通过 UIPageViewController,其中用户个人资料的每个页面是它自己的 UIViewController(带有 UIScrollView,因为每个页面都会变长),以便用户在浏览页面时可以平滑地在页面之间滑动。在一些页面上,我们还有 UITableViews(不占用整个屏幕,因为这是一个 iPad 应用程序而不是 iPhone 应用程序)供用户添加信息。因此,这些页面上的整体简化视图层次结构将是:

UIPageViewController
UIScrollView
UITableView

我希望用户能够使用滑动删除手势从 UITableView 中删除单元格。不幸的是,在 UITableView 中激活滑动删除的平移手势正在被 UIPageViewController 拾取并滚动到下一页而不是显示删除按钮。显示删除按钮非常不一致 - 可能 10 次中有 9 次会滚动到下一页。

理想情况下,我会访问 UIPageViewController 的平移手势识别器并尝试在它和 UITableView 的平移手势识别器之间建立一些依赖关系,或者有一些逻辑让 UIPageViewController 的手势识别器不在 UITableViewController 的区域内触发,或者其他的东西。但是,由于this phenomenon(无论是错误还是功能),我无法访问 UIPageViewController 的手势识别器,因此我无法执行诸如设置其委托和覆盖诸如gestureRecognizerShouldBegin 之类的方法之类的操作。我也无法获取 UIPageViewController 视图的手势识别器。

有人对如何规避这个问题有任何想法吗?

【问题讨论】:

    标签: ios ipad uitableview uipageviewcontroller


    【解决方案1】:

    我不知道如何可靠地访问页面 vcs 手势识别器。我能给出的唯一想法是如何临时启用/禁用它们。我无法保证它的可受理性,因为我还没有提交应用程序,但它对我来说看起来很干净:

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

    如果可以接受,它是 UIPageViewController 上的类别方法的理想候选者。

    【讨论】:

    • 不幸的是,由于每个单独的页面视图控制器中都有一个 UIScrollView,我认为这种方法也会捕获那些滚动视图并阻止它们滚动,对吧?因为这些单独的页面是 UIPageViewController 的子视图。这是不受欢迎的。
    • 不,pvc 中有一个滚动视图,位于包含的 vc 视图下方(循环的重点是不依赖于 pvc 视图的任何其他子视图)。循环只深入一层。但是我觉得无论如何我的回答对你来说还是不够的,因为它确实不能解决选择性使​​用页面滚动手势的需要。如果不访问页面视图控制器的 gr,我不确定您的问题是否可以解决。
    • 我明白了,感谢您的澄清。不幸的是,我认为您是对的,这并不能完全解决问题,但如果我需要这样做,请记住这是一个很好的提示。
    猜你喜欢
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多