重新实例化故事板导航栏按钮

问题描述 投票:0回答:1

我在故事板中设置了两个条形按钮项目并连接到这些插座:

 @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

但这不起作用,也没有任何表现。如何在不设置代码中的所有按钮的情况下解决此问题?有没有办法重置导航栏或从故事板重新实例化按钮?

ios swift storyboard uinavigationbar uibarbuttonitem
1个回答
0
投票

你的两个网点是weak。因此,当你不再使用它们时,它们就变成了nil。从插座声明中删除weak,您的代码应按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.