无法以编程方式切换故事板

时间:2017-04-30 22:35:56

标签: swift storyboard

我只是在满足条件(文本字段不为空)时才尝试切换故事板。我发现这段代码是对类似问题的回答,但似乎并没有起作用。我的程序崩溃,“'Storyboard()不包含带有标识符'Avatar Controller''的视图控制器”

我不完全确定在哪里可以找到视图控制器标识,或者我是否必须在故事板名称的末尾添加“.storyboard”。

let storyboard = UIStoryboard(name: "Avatar", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "Avatar Controller")
        self.navigationController!.pushViewController(vc, animated: true)

2 个答案:

答案 0 :(得分:0)

这可能有两个原因。

1)因为您的Avatar.storyboard引用了一个ID为Avatar Controller的视图控制器,但您没有在故事板中的任何视图控制器上设置该值文件。转到Avatar.storyboard,点击要显示的视图控制器,然后转到此面板:

enter image description here

确保Storyboard ID的{​​{1}}与viewController

中使用的值相匹配

2)因为您在加载故事板时没有提供storyboard.instantiateViewController(withIdentifier: "Avatar Controller")。你在说这个

bundle

但是因为您将let storyboard = UIStoryboard(name: "Avatar", bundle: nil); 指定为bundle,所以它不知道在哪里查找nil文件。要解决此问题,请将Avatar.storyboard指定为bundle

Bundle.main

答案 1 :(得分:0)

要使其有效,必须检查data

enter image description here