通过实现代码在Storyboard中显示多个UIViewControllers

时间:2017-06-01 08:33:50

标签: ios swift xcode

更具体,

当我按下代码创建的 A 中的UIViewController时,我说我有button A ,我想显示另一个UIViewController B ,其中 B 是在storyboard中设计的。可以通过编码来完成,但不能使用view controllersstoryboard之间的连接。感谢。

3 个答案:

答案 0 :(得分:3)

绝对,

确保已将storyBoardIdentifier添加到ViewController B。

最后,在你的ViewController A:

let YourStoryBoard = UIStoryboard(name: "YourStoryBoard", bundle: nil)
let vc = YourStoryBoard.instantiateViewController(withIdentifier: "VCB_StoryBoard_Identifier") as! ViewControllerB

如果您的ViewController嵌入了UINavigationController,那么

self.navigationController?.pushViewController(vc, animated: true)

其他来自ViewController A的ViewController B

self.present(vc, animated: true, completion: nil)

修改

设置故事板标识符,如下图所示 enter image description here

通过设置ViewController的类,将ViewControllerB类与storyboard VC相关联。如下图所示。

enter image description here

答案 1 :(得分:1)

你必须制作一个新的可可触摸类 - > UIViewController - > “ViewContollerB”

将故事板中的名称添加到视图中,然后执行以下操作:

让storyboard = UIStoryboard(名称:“YourStoryBoard”,捆绑:nil)

让vc = storyboard.instantiateViewController(withIdentifier:“VCB_StoryBoard_Identifier”)为! ViewContollerB

答案 2 :(得分:0)

试试这个:

点击按钮点按UIViewController A

func onTapButton()
{
    let controller = UIStoryboard.init(name: "YOUR_STORYBOARD_NAME", bundle: nil).instantiateViewController(withIdentifier: "ViewControllerBIdentifier") as! ViewControllerB
    self.present(controller, animated: true, completion: nil)
}

在这里,

ViewControllerBIdentifierStoryboardID对应UIViewController B

ViewControllerBclass对应UIViewController B