ios - Swift canEditRowAtIndexPath 在 UIPageViewController EZSwipeViewController 中不起作用

标签 ios swift uitableview uipageviewcontroller ezswipecontroller

我有以下场景,需要帮助解决该场景中的棘手情况

  1. 有一个 Xcode 项目,正在使用 EzSwipeController目前用于在三个 View Controller 之间滑动(分页效果)。

  2. 在我的第一个 ViewController 中(这个 viewController 是根据我的要求从我的自定义动态框架中获取的)-

获取 ViewController 的代码:

    userProfile.createProfileUI(userSession!) { result in
        switch result {
        case let .Success(profileViewController):

        myDetailsVC = profileViewController  //myDetailsVc is passed to EZSwipControllerDataSource array

        default:
            break
        }
    }
  • 另外两个 ViewController 在我的项目 Storyboard 中
  • 问题 -

    在第一个 ViewController 中,有一个为几个单元格(电话号码)启用了 canEditRowAtIndexPath 的 tableView。

    因此,当我尝试滑动行时,EZSwipeController 首先响应,并且 因此,我无法编辑该行。

    这是正在发生的事情 - http://recordit.co/SOJgdeYchP

    这是应该发生的情况 - http://recordit.co/EBPSbjH31q

    我该如何处理这个问题?当我尝试编辑行时,有没有办法可以覆盖默认的滑动 Controller 操作?

    请帮忙!

    最佳答案

    将滑动手势识别器附加到层次结构中的父级。

    如果您使用的是 UITableViewController,请将其替换为内部包含 UITableView 的 UIViewController。然后只需将手势识别器拖到 Storyboard 中的 View Controller 上,它就会附加到 UIViewController 的内容 View 而不是 UITableView。

    尽管归根结底,这本质上是一种有缺陷的方法,因为只有当页面上没有任何包含滑动手势的元素时,在应用程序中滑动才能翻页。如果这样做,即使您编写了一种解决方法来使 View Controller (在本例中为 TableView 单元格)中的元素的手势识别器触发,而不是页面翻转滑动手势,也会造成不一致的用户体验。 p>

    我的建议:不要将 TableView 完全用于此类表单。除了上述机械用户体验问题之外,从用户感知的角度来看,没有任何东西在视觉上表明这是一个表格 View 而不仅仅是一个 ScrollView ,因此没有任何东西向用户表明滑动操作(删除)可用。请改用 ScrollView ,并采用不同的删除方法(始终可见的删除按钮、仅在用户点击某处“编辑”后才可见的删除按钮等)。

    关于ios - Swift canEditRowAtIndexPath 在 UIPageViewController EZSwipeViewController 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42106560/

    相关文章:

    xcode - 您可以在没有按钮的情况下以编程方式关闭 View Controller 吗? - 操作系统

    iPhone从全屏UI NavigationView切换到TabView

    ios - 在 SwiftUI 中根据明暗模式更改 buttonStyle 修饰符

    iPhone : mkv/mka parsing libraries

    应用约束后快速获取 View 边界

    iphone - UITableView contentOffSet 无法正常工作

    ios - 添加并布局从 xib 加载到自定义单元格的 subview

    ios - IOS 7.0 中 CFStream Socket 发送数据包不完整

    ios - 在 Realm swift 中重命名类的最佳方法

    ios - 从完成处理程序中指定单个值