1

我正在使用故事板和 kal 日历控制器,我想自定义在日历上选择一天的事件。默认情况下,当您选择某一天时,该天的事件会显示在月历下的表格视图中。我要做的是选择一天时,另一个视图控制器正在显示,并且在选择的那一天被过滤。

到现在为止,我建立了我应该编辑的地方。但是我不能调用其他视图出现!

我试过这个,但它不起作用!

tableViewController *tbl = [[tableViewController alloc] initWithNibName:@"menuView" bundle:nil];

  [self dismissViewControllerAnimated:YES completion:nil];

我找到了这个,但我不知道如何使用它以及它是否对我有帮助..有什么帮助吗?

UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"menuView" bundle:nil];
tableViewController *vc = [sb instantiateViewControllerWithIdentifier:@"menuView"];
4

1 回答 1

1

您问题中的第二批代码朝着正确的方向前进,但并不完全正确。

首先,您想获得项目情节提要的实例。这就是您在第一行代码中尝试做的事情。但是,我相信您用错误的名称指代您的故事板。通常 Xcode 将故事板的名称默认为“MainStoryboard.storyboard”,而您尝试将其称为“menuView”。因此,您需要将第一行代码更改为:

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

接下来,您需要一种在 Storyboard 中引用所需 ViewController 的方法。这就是您在第二行代码中尝试的内容。您需要确保获得正确的参考:

  1. 在你的故事板中,选择你想要显示的 ViewController
  2. 在 Identity 检查器中,在 Class 字段中输入“tableViewController”
  3. 在 Storyboard ID 字段中输入“menuView”

最后,您需要添加一行代码来实际呈现 ViewController。

所以总而言之,你的代码应该是这样的:

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
tableViewController *vc = [sb instantiateViewControllerWithIdentifier:@"menuView"];

[self presentViewController:vc animated:YES completion:nil];
于 2013-08-16T20:59:12.983 回答