为了账号安全,请及时绑定邮箱和手机立即绑定

在SWIFT中实例化并呈现viewController

在SWIFT中实例化并呈现viewController

至尊宝的传说 2019-07-08 16:31:17
在SWIFT中实例化并呈现viewController发行我开始看新的Swift在……上面Xcode 6,我尝试了一些演示项目和教程。现在我被困在:实例化,然后呈现viewController从一个特定的故事板目标-C溶液UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"myStoryboardName" bundle:nil]; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"myVCID"]; [self presentViewController:vc animated:YES completion:nil];如何在SWIFT上实现这一点?
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

这都是新语法的问题,功能没有改变:

// Swift 3.0let storyboard = UIStoryboard(name: "MyStoryboardName", bundle: nil)let controller = storyboard.instantiateViewController(w
ithIdentifier: "someViewController")self.present(controller, animated: true, completion: nil)

如果你有问题init(coder:),请参阅EridB回答.


查看完整回答
反对 回复 2019-07-08
?
慕神8447489

TA贡献1780条经验 获得超1个赞

实例化UIViewController并且有例外:

致命错误:类使用未实现的初始化器‘init(编码器:)’

快速提示:

手动实现required init?(coder aDecoder: NSCoder)在你的目的地UIViewController你想要实例化

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)}

如果您需要更多的描述,请参考我的回答。这里


查看完整回答
反对 回复 2019-07-08
?
暮色呼如

TA贡献1853条经验 获得超9个赞

这个链接有两个实现:

斯威夫特

let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("ViewController") 
as UIViewControllerself.presentViewController(viewController, animated: false, completion: nil)

目标C

UIViewController *viewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"
ViewController"];

此链接具有在同一情节提要中启动视图控制器的代码。

/*
 Helper to Switch the View based on StoryBoard
 @param StoryBoard ID  as String
*/func switchToViewController(identifier: String) {
    let viewController = self.storyboard?.instantiateViewControllerWithIdentifier(identifier) as! UIViewController
    self.navigationController?.setViewControllers([viewController], animated: false)}


查看完整回答
反对 回复 2019-07-08
  • 3 回答
  • 0 关注
  • 1173 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信