在 Objective-C 中切换故事板视图控制器

Switching storyboard view controller in Objective-C

我正在尝试在同一个故事板上切换到不同的 ViewController,如下所示:

日历ViewController *CalViewController = [[日历ViewController alloc] init]; [自我presentViewController:CalViewControlleranimated:NOcompletion:nil];

当我运行这个动作时,相应的实现文件执行NSLog消息但是黑屏没有显示错误。

我该如何解决这个问题?

假设您在故事板中创建了 CalendarViewController 界面,并为其分配了标识符 "ControllerIdentifier"。

如果你想从另一个视图控制器中加载它,你可以实例化你的 CalendarViewController 并像这样呈现它:

CalendarViewController *calViewController = (CalendarViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"ControllerIdentifier"]
[self presentViewController:calViewController animated:NO completion:nil];
  1. 您可以使用 Segue 推送 calViewController。

  2. 您可以使用下面的代码;

    CalendarViewController *CalViewController = (CalendarViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"CalendarViewControllerIdentifier"]; [self presentViewController:CalViewController animated:NO completion:nil];

但是如果您选择第二个选项,则必须将 CalendarViewController 的 Storyboard Identifier 设置为 Storyboard 中的 CalendarViewControllerIdentifier。