如何用按钮操作替换 self.navigationItem.leftBarButtonItem = self.editButtonItem() }

how replace self.navigationItem.leftBarButtonItem = self.editButtonItem() } with button action

我将 BarButtonItem 的 self.editButtonItem() 替换为按钮 @IBAction..

override func viewDidLoad() {
    super.viewDidLoad()

   ....
    self.navigationItem.leftBarButtonItem = self.editButtonItem()
}

我删除self.navigationItem.leftBarButtonItem = self.editButtonItem() 以上代码

我想替换@IBAction 按钮() { code }...

代码是什么?

let barButton = UIBarButtonItem(title: "Button", style: .Plain, target: self, action: "buttonAction:")
self.navigationItem.leftBarButtonItem = barButton

@IBAction func buttonAction(sender:AnyObject?)
{
     //do your thing
}

如果要将 leftBarButtonItem action 设置为函数,可以这样做:

override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationItem.leftBarButtonItem?.action = "functionName:"
}

func functionName(sender: AnyObject!) {
    //Do something
}

已编辑: 如果要将tableview设置为编辑模式,使用如下:

@IBOutlet weak var editButton: UIButton!

@IBAction func doEdit(sender: AnyObject) {

    if (self.tableView.editing) {
        editButton.title = "Edit"
        self.tableView.setEditing(false, animated: true)
    } else {
        editButton.title = "Done"
        self.tableView.setEditing(true, animated: true)
    }
}

我的解决方案是这样的。将导航按钮出口操作连接到此函数

@IBAction func startEditBtnAct(_ sender: Any) {
        tableview.isEditing = !tableview.isEditing

    }