【问题标题】:Connecting Multiple Storyboards in Swift在 Swift 中连接多个故事板
【发布时间】:2015-03-20 23:00:57
【问题描述】:

我正在使用 Swift 构建 iOS 应用程序,并被建议为每个功能使用故事板,因为每个功能将有大约 10 个视图。从主情节提要开始,任何人都可以提供有关如何使用 Swift 在情节提要之间转换的建议吗?或者,如果我想避免 50+ 视图主故事板的混淆,还有什么比使用多个故事板更好的办法吗?

这是最终的工作:

let secondVC:UIViewController = UIStoryboard(name: "SecondStoryboard", bundle:nil).instantiateViewControllerWithIdentifier("numberTwo") as UIViewController

@IBAction func changeStoryBoardButtonClicked(sender: AnyObject) {
        presentViewController(secondVC, animated: false, completion: nil)
}

【问题讨论】:

    标签: ios swift xcode-storyboard


    【解决方案1】:

    当您的应用需要移动到不同故事板中的新控制器时,您必须实例化新故事板,然后在此处实例化初始视图控制器。

    let sb = UIStoryboard(name: "SomeStoryboardName", bundle: nil)
    let vc2 = sb.instantiateInitialViewController() as UIViewController // or whatever the class is of that initial vc
    

    【讨论】:

    • 首先,非常感谢。我试过: let secondSB : UIStoryboard = UIStoryboard(name: "SecondStoryboard.storyboard", bundle: nil) let secondVC = secondSB!.instantiateInitialViewController() as UIViewController @IBAction func changeStoryBoardButtonClicked(sender: AnyObject) { presentViewController(secondVC, animated: false , 完成:nil) } 收到 UIViewController 没有成员 secondSB /secondVC 的错误。研究了这个问题,但没有设法解决。我改变情节提要的功能有意义吗?
    • @iOSBeginner 您不应该在名称上使用 .storyboard(尽管它可能无关紧要)。您需要编辑您的问题以在您放置它们的任何方法中显示完整的代码。我认为您的范围有问题——我认为 secondVC 和 secondSB 都是局部变量,但在其上下文中查看代码会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2014-12-19
    • 1970-01-01
    • 2012-09-24
    • 2012-05-24
    相关资源
    最近更新 更多