这是我的storyboard
图片:
我想创建一个红色箭头所指向的viewController
的segue。这是个人资料viewController
。最终可能会有三个viewControllers
链接到此viewController
。目前会有两个。
现在我可以简单地控制拖动节目并创建一个segue。然而,这看起来很混乱。我的storyboard
现在将此对角线放在viewControllers
下面。
这是预期的做法吗?让一条线从一个到另一个到达是完全正常的吗?
提前感谢您的回复。
答案 0 :(得分:1)
你实际上只需在故事板中添加segue,即使是对角线,也可以。只是不适合眼睛。
如果您不希望故事板变得混乱,您可以将配置文件控制器放在故事板的另一部分,然后直接调用它而不使用segues。
if let vc = UIStoryboard(name: "MyStoryboard", bundle: nil).instantiateViewControllerWithIdentifier(identifier: "viewControllerId") {
// Present or push the view controller using the proper function
}
要设置视图控制器标识符,您只需在故事板上单击它,然后填写身份检查器中的“Storyboard ID”字段。
答案 1 :(得分:0)
实际上,您可以使用segue或storyboard id随时将应用程序导航到任何viewCotroller
。但是,您必须了解viewController's
堆栈时必须知道的预定义规则,每当您加载任何viewController
它们出现在最后一个 的堆栈中时强烈的>态度。
您可以使用segue浏览viewConteoller
或storyboard ID
。
目标c:
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"viewsId"];
// Note: use presentViewController or pushViewController one of them
[self presentViewController:vc animated:YES completion:nil];
[self.navigationController pushViewController:vc animated:YES];
在斯威夫特:
let vc: UIViewController = (self.storyboard?.instantiateViewControllerWithIdentifier("viewsId"))!
// Note: use presentViewController or pushViewController one of them
self.presentViewController(vc, animated: true, completion: nil)
self.navigationController?.pushViewController(vc, animated: true)