转到另一个故事板 Swift

Posted

技术标签:

【中文标题】转到另一个故事板 Swift【英文标题】:Segue to Another Storyboard Swift 【发布时间】:2016-07-20 17:22:55 【问题描述】:

我试图以编程方式切换到另一个故事板,但每次我尝试加载一个没有内容的黑屏视图时。

这是我一直在使用的代码:

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let startingView = storyboard.instantiateViewControllerWithIdentifier("HomeScreenView")
self.showViewController(startingView, sender: self)

我已经在目的地故事板的起源故事板上创建了参考,并且还尝试调用:

performSegueWithIdentifier("changeover", sender: self)

任何想法和建议将不胜感激。

【问题讨论】:

转到情节提要是错误的。您只能在情节提要中的控制器之间切换。 我正在尝试转到情节提要,我使用了情节提要参考。 如果您使用 swift 3 到 presentviewController,我认为您需要使用 presentViewControllerpresent(viewControllerToPresent: ) 【参考方案1】:

我在使用带有 segue 的 Storyboard References 时没有遇到任何问题。以下是我为其工作所遵循的步骤:

1) 在带有源视图控制器的情节提要中,将情节提要引用拖到画布上。

2) 在属性检查器中设置引用指向正确的故事板名称和视图控制器

3) Ctrl+从源的视图控制器图标(在场景的顶部栏中)拖动到情节提要参考以创建转场。

4) 将 segue 设置为“Show”,并在属性检查器中为其指定标识符“Test”

5) 在您的源视图控制器的代码中,在您希望触发它的适当位置,添加以下行:

performSegueWithIdentifier("Test", sender: self)

这应该就是以编程方式调用 segue 所需的一切!

【讨论】:

2) 在属性检查器中设置引用指向正确的故事板名称和视图控制器 let storyboard = UIStoryboard(name: "Main", bundle: nil) let controller = storyboard.instantiateViewControllerWithIdentifier("PageViewController") as UIViewController presentViewController(controller, animated: false, completion: nil)跨度> 我收到一条错误消息,提示“ViewController 没有带有标识符‘Test’的segue。另一个故事板被命名为“Extras”,而我想从中显示的视图控制器场景被称为“Test”。 【参考方案2】:

“MyStoryBoard”这是你想去的故事板名称 “StoryboardId”这是我想在 segue 之后显示的控制器 ID。

let storyboard = UIStoryboard(name: "Service", bundle: nil)
    let myVC = storyboard.instantiateViewController(withIdentifier: "ProfileTimelineVC") as! ProfileTimelineVC
    self.present(myVC, animated: true, completion: nil)

【讨论】:

【参考方案3】:

在 AppDelegate 中追加 var 窗口:UIWindow?

    let storyboard = UIStoryboard(name: "Registration", bundle: nil)
    let registrationvc = storyboard.instantiateViewController(withIdentifier: 
        "RegistrationViewController") as! RegistrationViewController
    self.window?.rootViewController?.present(registrationvc, animated: true, 
    completion: nil)

【讨论】:

以上是关于转到另一个故事板 Swift的主要内容,如果未能解决你的问题,请参考以下文章

转到不同的故事板

Swift 4:将数据从集合视图单元传递到另一个没有故事板的视图控制器

没有故事板的过渡动画 segue swift

在从一个故事板解雇到另一个故事板时,它最近很快就被解雇了

将视图控制器从一个故事板移动或复制到另一个故事板

故事板+模态搜索+记忆