我在故事板中设置了两个条形按钮项目并连接到这些插座:
@IBOutlet weak var sideMenuButton: UIBarButtonItem!
@IBOutlet weak var selectButton: UIBarButtonItem!
当按下选择按钮时,我将这些按钮替换为另外两个按钮,如下所示:
deleteButton = UIBarButtonItem(title: "Delete", style: .plain, target: self, action: #selector(deleteButtonPressed(_:)))
cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(cancelButtonPressed(_:)))
navigationItem.leftBarButtonItem = cancelButton
navigationItem.rightBarButtonItem = deleteButton
现在,我想在按下取消按钮时更改所有内容。我试图通过将出口传递给barButtonItems来做到这一点:
navigationItem.leftBarButtonItem = sideMenuButton
navigationItem.rightBarButtonItem = selectButton
但这不起作用,也没有任何表现。如何在不设置代码中的所有按钮的情况下解决此问题?有没有办法重置导航栏或从故事板重新实例化按钮?
你的两个网点是weak
。因此,当你不再使用它们时,它们就变成了nil
。从插座声明中删除weak
,您的代码应按预期工作。