繁体   English   中英

条形按钮项目无法执行动作Swift

[英]Bar Button Item fails to perform action Swift

我有一个导航栏(不是导航控制器的导航栏)。 在左侧,我拖动了一个Bar Button项,并使用IBActon将其连接到我的视图控制器。 该动作执行:

navigationController?.popViewController(animated: true).

同样,我将导航控制器嵌入到层次结构中,但是我隐藏了导航控制器导航栏并使用了自己的导航栏。 我不确定这是否与它有关。 但是,“条形按钮项目”操作执行的不一致。 有时,当我点击它时,视图被弹出(删除),而其他时候则什么也没有发生。 如果有人经历过并有任何见解,我将不胜感激!

相关代码:

 @IBAction func backTapped(_ sender: Any) {
    navigationController?.popViewController(animated: true)
}

所以我发现了问题。 这就是我在视图控制器之间选择的方式。 导航到我正在使用的应用程序

let storyboard = UIStoryboard(name: "Settings", bundle: nil)
    let viewControllerSettings = storyboard.instantiateViewController(withIdentifier: "SettingsID") as! SettingsViewController
    self.show(viewControllerSettings, sender: self)

但是,这就是问题所在。 要在保持与该情节提要中的导航控制器的连接的同时正确导航到新的情节提要,您必须选择导航控制器本身。 所以应该像这样执行:

let storyboard = UIStoryboard(name: "Settings", bundle: nil)
    let viewControllerSettings = storyboard.instantiateViewController(withIdentifier: "SettingsNavControllerID") as! UINavigationController
    self.show(viewControllerSettings, sender: self)

这样,我们将故事板ID添加到了故事板中的导航控制器上,您可以在其中进行选择。 如果不通过导航控制器进行选择,您将无法执行

navigationController?.popViewController(animated: true).

因为导航控制器未正确加载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM