【问题标题】:TrailingSwipeAction: How to deactivate auto delete on swipe through?TrailingSwipeAction:如何在滑动时停用自动删除?
【发布时间】:2018-03-11 18:39:03
【问题描述】:

我将我的 tablerowactions 更新为 swift 4 等效项,以便能够将图标而不是文本设置为当用户在表格元素上向左滑动时显示的按钮。我的问题是,如果用户从右向左滑动而不是仅显示所有可用操作,则第一个定义的操作(在我的情况下为删除操作)会自动触发。我想停用此行为。 我的代码目前看起来像这样:

 override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
    let deleteAction = UIContextualAction(style: .normal, title:  "", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
        // implemantion of delete-button here 
        // ...

        success(true)
    })


    deleteAction.image = #imageLiteral(resourceName: "deleteIcon")
    deleteAction.backgroundColor = .red
    return UISwipeActionsConfiguration(actions: [deleteAction])
}

【问题讨论】:

    标签: ios swift uitableview uitableviewrowaction uicontextualaction


    【解决方案1】:

    UISwipeActionsConfiguration 有一个属性可以让您关闭此行为,称为performsFirstActionWithFullSwipe。 (Documentation)

    所以而不是:

    return UISwipeActionsConfiguration(actions: [deleteAction])
    

    做这样的事情:

    let configuration = UISwipeActionsConfiguration(actions: [deleteAction])
    configuration.performsFirstActionWithFullSwipe = false
    return configuration
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2020-05-13
      • 2017-08-05
      • 1970-01-01
      • 2022-07-25
      • 2013-10-02
      相关资源
      最近更新 更多