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

如何从课程中以编程方式加载故事板?

如何从课程中以编程方式加载故事板?

iOS
凤凰求蛊 2019-09-19 14:33:13
我的问题是我正在寻找使用storyboard和xib的方法。但我找不到以编程方式加载和显示故事板的正确方法。Project开始使用xib进行开发,现在很难将所有xib文件嵌套在storyboard中。所以我在代码中寻找一种方法,比如alloc, init, push用于viewControllers。在我的情况下,我在故事板中只有一个控制器:UITableViewController它有静态单元格,其中包含我想要显示的一些内容。如果有人知道在没有大量重构的情况下使用xib和storyboard工作的正确方法,我将非常感谢您的帮助。
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

在故事板中,转到“属性”检查器并设置视图控制器的标识符。然后,您可以使用以下代码显示该视图控制器。


UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"myViewController"];

vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

[self presentViewController:vc animated:YES completion:NULL];

查看完整回答
反对 回复 2019-09-19
?
呼唤远方

TA贡献1856条经验 获得超11个赞

斯威夫特3

let storyboard = UIStoryboard(name: "Main", bundle: nil)

let vc = storyboard.instantiateViewController(withIdentifier: "viewController")

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

斯威夫特2

let storyboard = UIStoryboard(name: "Main", bundle: nil)

let vc = storyboard.instantiateViewControllerWithIdentifier("viewController")

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

条件


将故事板ID分配给视图控制器。


故事板ID


IB>显示身份检查器>身份>故事板ID


斯威夫特(遗产)


let storyboard = UIStoryboard(name: "Main", bundle: nil)

let vc = storyboard.instantiateViewControllerWithIdentifier("viewController") as? UIViewController

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

编辑:Swift 2在Fred A.的评论中提出


如果你想在没有任何navigationController的情况下使用你必须使用如下:


    let Storyboard  = UIStoryboard(name: "Main", bundle: nil)

    let vc = Storyboard.instantiateViewController(withIdentifier: "viewController")

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


查看完整回答
反对 回复 2019-09-19
?
慕容森

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

在属性检查器中,为该视图控制器提供标识符,以下代码适用于我


UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

DetailViewController *detailViewController = [storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];

[self.navigationController pushViewController:detailViewController animated:YES];


查看完整回答
反对 回复 2019-09-19
  • 3 回答
  • 0 关注
  • 506 浏览

添加回答

举报

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