swift - 编辑按钮没有任何功能,单元格左侧没有带减号的红色圆圈

标签 swift uitableview uinavigationbar uibarbuttonitem

我看过另一个问题,它问的问题与我的问题完全相同,但答案告诉他们调用 setEditing 函数(我试过了,并在问题后面说)。但是我看不出只有在单击编辑按钮时才能调用此函数。我想我可以创建自己的 BarButtonItem 并在单击栏按钮项时运行此方法,但我认为这会容易得多,因为我需要编辑按钮的基本功能。

我有一个 UIViewController,上面有一个名为 peersTable 的表。当我点击编辑按钮时,它切换到完成,但 table 上没有任何反应。我还添加了自己的 UITableViewRowActions,当我在单元格上向左滑动时,我的自定义操作会显示出来。

这是我的一些代码:

class PeerViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, ConnectionManagerDelegate {

@IBOutlet weak var peersTable: UITableView!
...

override func viewDidLoad() {
    ...
    peersTable.delegate = self
    peersTable.dataSource = self

    self.navigationItem.rightBarButtonItem = self.editButtonItem
    ...
}

我也试过自己调用 peersTable.setEditing(true, animated: true) 方法,在这种情况下,确实出现了红色减号。我以前从未见过这个问题,所以我不明白为什么会这样。我是否以某种方式将代表设置错误?或者可能是我做错了什么,因为这是一个常规 View 而不是 TableView(尽管我之前在之前的项目中已经这样做过)。

提前致谢!如果您需要更多信息,请告诉我!

最佳答案

因为这不是 TableViewController,所以当您按下编辑按钮时,它不会自动将您的 tableView 设置为编辑模式。

您需要覆盖 setEditing 方法,以便将 tableView 设置为编辑模式。

将此添加到您的 ViewController 类:

override func setEditing(_ editing: Bool, animated: Bool) {
    super.setEditing(editing, animated: animated)
    peersTable.setEditing(editing, animated: animated)
}

关于swift - 编辑按钮没有任何功能,单元格左侧没有带减号的红色圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41994032/

相关文章:

ios - Alamofire 响应回调中的委托(delegate)为 nil

iphone - 详细 View 仅显示在屏幕的表格区域?

ios - 导航栏未正确显示(显示为 float 而不是固定栏)

swift - (Swift) UITableView - 尝试将索引路径移动到不存在的索引路径

ios - 如何根据变化的属性在 Swift 中实现 enum 和 switch 语句?

ios - 用户输入的数据未保存或显示在表格 View 中

ios - 为什么显示 TableView 但不显示单元格?

ios - 更改 IOS 7 状态栏内容颜色

ios - 使用以下方法消除 UINavigationbar 和另一个 View 之间的黑字符串的秘诀是什么?

ios - Material 组件选项卡 Swift 中的项目大小