Ios UITableView、UIWipeActionsConfiguration、UIContextualAction-pullView不在视图层次结构中。这是一个UIKit错误
我有一个带有滑动操作的UITableView,在滑动时:a)显示一个空白/空白区域,滑动操作按钮应显示在该区域;和B)以下行记录到Xcode中的调试控制台: [断言]pullView不在视图层次结构中。这是一个UIKit错误Ios UITableView、UIWipeActionsConfiguration、UIContextualAction-pullView不在视图层次结构中。这是一个UIKit错误,ios,swift,uitableview,uiswipeactionsconfiguration,Ios,Swift,Uitableview,Uiswipeactionsconfiguration,我有一个带有滑动操作的UITableView,在滑动时:a)显示一个空白/空白区域,滑动操作按钮应显示在该区域;和B)以下行记录到Xcode中的调试控制台: [断言]pullView不在视图层次结构中。这是一个UIKit错误 到今天为止,搜索该问题标题的谷歌搜索结果为零。结果表明,罪魁祸首如下 override func setEditing(_ editing: Bool, animated: Bool) { super.setEditing(editing, animated: an
到今天为止,搜索该问题标题的谷歌搜索结果为零。结果表明,罪魁祸首如下
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
if !editing {
rowSelectionState.removeAll()
loadData()
}
refreshView()
}
具体来说,包含tableView.reloadData()
调用的refreshView()
调用需要位于if!编辑{…}
块。如果没有,则在启动刷卡操作时,刷卡操作会调用setEditMode(true,…)
,从而调用tableView.reloadData()
,这会影响UISWIPActionsConfiguration
正确显示的能力
因此,上述内容应如下所示:
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
if !editing {
rowSelectionState.removeAll()
loadData()
refreshView()
}
}