【问题标题】:Re-instantiate storyboard navigation bar buttons重新实例化故事板导航栏按钮
【发布时间】:2019-04-06 15:13:54
【问题描述】:

我在情节提要中设置了两个条形按钮项目并连接到这些插座:

 @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】:

    您的两个网点是weak。因此,当您不再使用它们时,它们将变为nil。从出口声明中删除weak,您的代码应该可以按预期工作。

    【讨论】:

      猜你喜欢
      • 2015-05-29
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多