在 Swift 中连接多个故事板
Posted
技术标签:
【中文标题】在 Swift 中连接多个故事板【英文标题】:Connecting Multiple Storyboards in 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)
【问题讨论】:
【参考方案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 都是局部变量,但在其上下文中查看代码会有所帮助。以上是关于在 Swift 中连接多个故事板的主要内容,如果未能解决你的问题,请参考以下文章
Swift pagecontroller 故事板 UI 对象与 UIPageviewcontroller 连接
如何将边框添加到从 Swift 2.1 中的故事板链接的 @IBAction 按钮?