Swift segue 以编程方式转至 xib 文件

Posted

技术标签:

【中文标题】Swift segue 以编程方式转至 xib 文件【英文标题】:Swift segue to xib file programmatically 【发布时间】:2015-01-16 19:30:00 【问题描述】:

我需要从导航栏按钮项加载一个 xib 文件。我必须在情节提要之外执行此操作,因为相同的按钮项会根据用户是否登录而改变。如果用户未登录,则读取“登录/注册”并转到登录 xib 文件,如果用户已登录,则读取“添加故事”并转到添加故事 xib 文件。

【问题讨论】:

您可以通过在故事板中使用不同的IBOutlets 和不同的文本在彼此顶部放置两个相同的按钮来解决此问题;将.hidden 设置为当前不应该显示的那个。 【参考方案1】:

首先,使用IBOutlet 创建UIBarButtonItem 类型的var 和按钮的操作方法。然后,您可以在视图出现时以编程方式访问该按钮以更新其标签(登录/注销)。您可以通过从情节提要中的按钮控制拖动(或右键单击拖动)到 swift 文件来完成这两种操作。

在故事板中,设置两个转到不同视图的转场(即“LoginSegueIdentifier”和“AddStorySegueIdentifier”。在操作方法中,检查用户是否登录。根据结果,使用与segue标识符匹配的标识符。

登录...

self.performSegueWithIdentifier("LoginSegueIdentifier", sender: self)

添加故事

self.performSegueWithIdentifier("AddStorySegueIdentifier", sender: self)

希望这会有所帮助。如果您有任何问题,请告诉我。

更新:澄清一下,这很常见(至少根据我的经验),您绝对可以通过情节提要实现这一点。

【讨论】:

以上是关于Swift segue 以编程方式转至 xib 文件的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式从 Xib 执行 Segue

在 Swift 中以编程方式制作 Segue

Swift:以编程方式枚举来自 UIVIewController 的传出 segue

Swift 以编程方式创建一个 unwind segue

在 Swift 中以编程方式使用 segues 传递信息

以编程方式 Swift Segue