通过向后滑动关闭 UISwipeActionsConfiguration
Dismiss UISwipeActionsConfiguration by swiping back
我使用新的 iOS 11 UISwipeActionsConfiguration
API 实现了拖尾滑动操作,我可以通过从边缘滑动来显示它们,可以一直滑动到左侧等.
但我无法通过滑动回到原来的位置来隐藏这些动作。如果我向左拖动一点然后再向右拖动,它就会消失(参见 gif)。它也可以通过点击一个单元格来关闭。
官方邮件应用程序确实支持拖动以隐藏滑动操作,因此 API 中可能也有一种方法。
在此处查看示例项目:https://github.com/nezhyborets/ios-case-study-playgrounds/tree/master/UISwipeActionsConfiguration
好问题!
这不是直接配置,但如果您除了现有的 trailing
之外还为 leading
实施操作:
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let action = UIContextualAction(style: .normal, title: "bla") { (action, view, success) in
success(true)
}
return UISwipeActionsConfiguration(actions: [action])
}
这会给你想要的效果。
不幸的是,这需要向右滑动的操作。我尝试制作 actions
数组 []
,但这没有任何作用。
let delete = UIContextualAction(style: .destructive, title: "Delete") { (myContext, myView, complete) in
//Did what you wanted to do
complete(true)
//Cancelled the action
complete(false)
}
我使用新的 iOS 11 UISwipeActionsConfiguration
API 实现了拖尾滑动操作,我可以通过从边缘滑动来显示它们,可以一直滑动到左侧等.
但我无法通过滑动回到原来的位置来隐藏这些动作。如果我向左拖动一点然后再向右拖动,它就会消失(参见 gif)。它也可以通过点击一个单元格来关闭。
官方邮件应用程序确实支持拖动以隐藏滑动操作,因此 API 中可能也有一种方法。
在此处查看示例项目:https://github.com/nezhyborets/ios-case-study-playgrounds/tree/master/UISwipeActionsConfiguration
好问题!
这不是直接配置,但如果您除了现有的 trailing
之外还为 leading
实施操作:
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let action = UIContextualAction(style: .normal, title: "bla") { (action, view, success) in
success(true)
}
return UISwipeActionsConfiguration(actions: [action])
}
这会给你想要的效果。
不幸的是,这需要向右滑动的操作。我尝试制作 actions
数组 []
,但这没有任何作用。
let delete = UIContextualAction(style: .destructive, title: "Delete") { (myContext, myView, complete) in
//Did what you wanted to do
complete(true)
//Cancelled the action
complete(false)
}