首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITableView,UISwipeActionsConfiguration,UIContextualAction -- pullView不在视图层次结构中。这是一个UIKit错误

UITableView,UISwipeActionsConfiguration,UIContextualAction -- pullView不在视图层次结构中。这是一个UIKit错误
EN

Stack Overflow用户
提问于 2020-01-08 17:40:13
回答 1查看 215关注 0票数 2

我有一个具有滑动操作的UITableView,当滑动: A)显示一个空白/空区域时,应该显示滑动操作按钮;和B)下面的行记录到Xcode中的调试控制台:

断言pullView不在视图层次结构中。这是一个UIKit错误。

到今天为止,搜索这个问题的标题的Google结果为零。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-08 17:40:13

结果发现罪魁祸首是

代码语言:javascript
复制
override func setEditing(_ editing: Bool, animated: Bool) {
    super.setEditing(editing, animated: animated)

    if !editing {
        rowSelectionState.removeAll()
        loadData()
    }
    refreshView()
}

具体来说,包含一个refreshView()调用的tableView.reloadData()调用需要在if !editing { ... }块中。如果没有,则在启动一个滑动操作时,该滑动操作似乎调用了setEditMode(true, ...),因此调用了tableView.reloadData(),这破坏了UISwipeActionsConfiguration正确显示的能力。

因此,上面的内容应该如下所示:

代码语言:javascript
复制
override func setEditing(_ editing: Bool, animated: Bool) {
    super.setEditing(editing, animated: animated)

    if !editing {
        rowSelectionState.removeAll()
        loadData()
        refreshView()
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59651135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档