如何在TableView(滑动)中为UIContextualAction提供自定义宽度

时间:2017-12-26 16:32:01

标签: ios swift uitableview

我有一个简单的TableView:

enter image description here

目前,这是我使用UIContextualAction向左滑动时所拥有的:

enter image description here

我目前的代码:

override func tableView(_ tableView: UITableView,
               leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration?
{
    let editAction = UIContextualAction(style: .normal, title:  "Modifier", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
        print("OK, marked as Closed")
        success(true)
    })
    editAction.image = #imageLiteral(resourceName: "leftView")
    //editAction.backgroundColor = .black

    let configuration =  UISwipeActionsConfiguration(actions: [editAction])
    //configuration.performsFirstActionWithFullSwipe = false
    return configuration
}

这就是我想要的:

enter image description here

就像你可以看到的那样,滑动的按钮一直持续到细胞的中间。我该怎么办?

1 个答案:

答案 0 :(得分:0)

在iOS11中似乎只接受特定尺寸的图像或仅用于textviewcell滑动的文字。

另一种选择是向tableview添加手势。

或者向tableviewcell添加平移手势,例如,最初在自定义单元格中创建一个视图,并在单元格中使用UIPanGestureRecognizer到此视图。添加自定义单元格所需的按钮,当您在自定义单元格中滑动视图时,自定义单元格中的按钮将可见。