Ios 获取额外参数';动画';随时待命
当我试图以编程方式转到另一个故事板时,我使用Ios 获取额外参数';动画';随时待命,ios,xcode,swift,Ios,Xcode,Swift,当我试图以编程方式转到另一个故事板时,我使用 //Pop user to next screen let storyboard = UIStoryboard(name: "HomeViewController", bundle: nil); let vc = storyboard.instantiateViewControllerWithIdentifier("home") as UIViewController; self.presentViewController(vc, animated:
//Pop user to next screen
let storyboard = UIStoryboard(name: "HomeViewController", bundle: nil);
let vc = storyboard.instantiateViewControllerWithIdentifier("home") as UIViewController;
self.presentViewController(vc, animated: true, completion: nil);
但这并没有在下一个故事板上显示导航控制器。所以我做了
HomeViewController.presentViewController(vc, animated: true, completion: nil);
所有这些都是
调用中的额外参数“已设置动画”
有什么想法吗?关于你的第一个问题,有几点看法:
- 对于第一个问题,您可能希望确保
不是vc
(例如,找到了脚本id为nil
的场景):home
- 我建议你仔细检查“家庭”场景中“故事板id”的拼写和大小写
- 顺便说一句,如果您在IB中为第二个故事板中的第一个场景选中了“Is Initial View Controller”复选框,那么您也可以执行以下操作:
您可以直观地确认此设置,因为场景将有一个小的“初始顺序”箭头从左侧指向它:let vc = storyboard.instantiateInitialViewController()
- 如果您正在对目标场景执行
,该场景本身嵌入在导航控制器中,则您应该呈现该导航控制器(即,为导航控制器的场景提供“情节提要id”或将其指定为“初始视图控制器”),而不是嵌入到该导航控制器中的场景presentViewController
presentViewController
,但引用的可能是类名HomeViewController
,而不是实例。这种语法根本没有任何意义
前面的语法与
self.presentViewController(…)
可能是正确的,但很可能没有找到情节提要或场景,原因可能是一个或另一个的名称(很可能是场景的“情节提要id”)或记分牌未包含在捆绑包中(虽然我认为这会产生不同的错误)。如果我将标签拖到下一个视图控制器中,我可以看到它。只是导航控制器没有显示。您必须为该导航控制器提供一个唯一的脚本id,并在代码中引用该id,(或者,对于导航控制器的场景,选中“是初始视图控制器”复选框,然后使用实例化初始视图控制器
语法)。这就是我使用第二行的目的。我已经在interface builder中将情节提要ID设置为home
,并且您指定的这个情节提要ID不是在您刚刚添加标签的场景中,而是在该场景之前的导航控制器场景中,对吗?好了!我正在将其添加到视图而不是视图控制器中。谢谢我花了好几个小时在这上面。
let vc = storyboard.instantiateInitialViewController()