动作后迅速删除与导航视图控制器的连接

Posted

技术标签:

【中文标题】动作后迅速删除与导航视图控制器的连接【英文标题】:Swift Removing Connection to Navigation View Controller after Action 【发布时间】:2015-04-16 00:18:49 【问题描述】:

我有一个故事板设置,用户打开应用程序并被带到社交登录视图。如果用户之前没有注册,他将被带到注册导航视图,如果用户已经注册,那么该用户将被带到包含应用程序真正功能的选项卡式视图。我遇到的问题是,当用户必须注册时,注册后,选项卡式视图会打开一个导航,允许返回到注册页面。我怎样才能消除该功能的发生?注册后,选项卡式视图不应与注册导航视图有任何关系。是否有某种 segue 方法可以实现这一目标?请参阅下面的故事板。

【问题讨论】:

【参考方案1】:

有很多方法可以实现这一点, 一种方法是创建一个自定义 UIBarButtonItem 并将其分配给选项卡式视图控制器的 navigationItem 的 leftBarButtonItem

 var customButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Action, target: self, action: "customAction:")
    self.navigationItem.leftBarButtonItem = customButton

customAction: 中编写代码以进入您想要继续单击按钮的场景。

注意:有许多 UIBarButtonItem 初始化方法可用于自定义按钮的外观

【讨论】:

我不相信你理解我的问题。当我在注册导航控制器上单击“完成”时,我的 segue 将我带到我的选项卡式视图控制器,并出现一个“返回”按钮,允许用户返回到注册导航控制器。我不希望出现这个“返回”按钮,并且在注册发生后,标签式控制器与导航控制器之间应该没有任何关系。 如果您想阻止后退按钮出现,请在选项卡式视图控制器的 viewWillAppear 中设置 self.navigationItem.leftBarButtonItem = nil。

以上是关于动作后迅速删除与导航视图控制器的连接的主要内容,如果未能解决你的问题,请参考以下文章

按下视图控制器后删除“返回”按钮

iPhone横向导航返回动作显示垂直视图过渡?

无法从展开的 segue 动作中弹出

swift - 导航控制器删除后退按钮箭头

Xcode 无法识别新的出口和动作连接

从导航堆栈中删除视图控制器