更具体,
当我按下代码创建的 A 中的UIViewController
时,我说我有button
A ,我想显示另一个UIViewController
B ,其中 B 是在storyboard
中设计的。可以通过编码来完成,但不能使用view controllers
中storyboard
之间的连接。感谢。
答案 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)
修改强>
通过设置ViewController的类,将ViewControllerB类与storyboard VC相关联。如下图所示。
答案 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)
}
在这里,
ViewControllerBIdentifier
:StoryboardID
对应UIViewController
B
ViewControllerB
:class
对应UIViewController
B