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

Swift 编辑按钮没有任何功能,单元格左侧没有带负号的红色圆圈,swift,uitableview,uinavigationbar,uibarbuttonitem,Swift,Uitableview,Uinavigationbar,Uibarbuttonitem,我看了另一个问题,这个问题与我的问题完全相同,但答案告诉他们调用setEditing函数(我试过了,稍后会在问题中说)。但我不明白只有在单击编辑按钮时才能调用此函数。我想我可以创建自己的BarButtonim,并在单击我的bar按钮项时运行此方法,但我认为这将更容易,因为我需要编辑按钮的基本功能 我有一个UIViewController,上面有一个名为peersTable的表。当我单击编辑按钮时,它会切换到“完成”,但表上没有任何操作。我还添加了我自己的UITableViewRowActions

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

我有一个UIViewController,上面有一个名为peersTable的表。当我单击编辑按钮时,它会切换到“完成”,但表上没有任何操作。我还添加了我自己的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,动画:true)方法,在本例中,红色减号确实出现。我以前从未见过这个问题,所以我不明白为什么会发生这种情况。我是否设置了代理错误?或者我可能做错了什么,因为这是一个常规视图而不是表视图(尽管我以前在以前的项目中做过)


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

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

您需要重写setEditing方法,以便将tableView设置为编辑模式

将其添加到ViewController类:

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

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

您需要重写setEditing方法,以便将tableView设置为编辑模式

将其添加到ViewController类:

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

我也面临同样的问题。我通过在类中创建一个类似于插座的tableView属性,将表视图与类连接起来@IBMOutlet弱var productTableView:UITableView。故事板中的tableView和tableView属性必须连接。虽然我不知道为什么会这样。@rubaiyatjahanmumumu我想你的意思是按住ctrl键并将tableView拖到PeerViewController类中,我之前已经做过“@IBOutlet弱变量PeerTable:UITableView!”(然后设置为委托和数据源)。除非您的意思是其他的……您是否实现了其他委托方法,特别是
func tableView(u2;:editingStyleForRowAt:)
?如果是这样,您必须在此处返回
.delete
。@andreaseetjen我认为这不是必要的,因为在其他项目中,我没有实现此方法,但我尝试了实现editButton的功能,但它仍然不起作用。但是谢谢你调查我的问题。我也面临同样的问题。我通过在类中创建一个类似于插座的tableView属性,将表视图与类连接起来@IBMOutlet弱var productTableView:UITableView。故事板中的tableView和tableView属性必须连接。虽然我不知道为什么会这样。@rubaiyatjahanmumumu我想你的意思是按住ctrl键并将tableView拖到PeerViewController类中,我之前已经做过“@IBOutlet弱变量PeerTable:UITableView!”(然后设置为委托和数据源)。除非您的意思是其他的……您是否实现了其他委托方法,特别是
func tableView(u2;:editingStyleForRowAt:)
?如果是这样,您必须在此处返回
.delete
。@andreaseetjen我认为这不是必要的,因为在其他项目中,我没有实现此方法,但我尝试了实现editButton的功能,但它仍然不起作用。但是谢谢你调查我的问题。谢谢你,解决了它!谢谢,这就解决了!