【问题标题】:Switching storyboard view controller in Objective-C在 Objective-C 中切换故事板视图控制器
【发布时间】:2015-01-21 22:21:58
【问题描述】:
我正在尝试像这样在同一个故事板上切换到不同的 ViewController:
CalendarViewController *CalViewController = [[CalendarViewController alloc] init];
[self presentViewController:CalViewController Animation:NO completion:nil];
当我运行这个动作时,相应的实现文件会执行 NSLog 消息,但屏幕变黑,没有显示任何错误。
我该如何解决这个问题?
【问题讨论】:
标签:
objective-c
uiviewcontroller
【解决方案1】:
假设您在情节提要中创建了 CalendarViewController 接口,并为它分配了标识符“ControllerIdentifier”。
如果你想从另一个视图控制器中加载它,你可以实例化你的 CalendarViewController 并像这样呈现它:
CalendarViewController *calViewController = (CalendarViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"ControllerIdentifier"]
[self presentViewController:calViewController animated:NO completion:nil];
【解决方案2】:
可以使用 Segue 推送 calViewController。
-
您可以使用下面的代码;
CalendarViewController *CalViewController = (CalendarViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"CalendarViewControllerIdentifier"];
[self presentViewController:CalViewController animated:NO completion:nil];
但是如果你选择第二个选项,你必须从你的故事板中将 CalendarViewController 的 Storyboard Identifier 设置为 CalendarViewControllerIdentifier。