我正在尝试在我的项目中使用 Kal 日历。到目前为止,这是我所理解的情况:
- 无论哪个视图控制器调用 Kal 都必须实现 UITableViewDelegate 方法“didSelectRowAtPath”
问题:
- 我调用 Kal 的视图控制器已经有一个现有的 tableview(其中一个单元格会调用 Kal)
为了解决这个问题,我尝试从我的主表视图中的一个单元格推送一个中间视图控制器,如下所示:
ScheduleViewController *svc = [[ScheduleViewController alloc] init];
[svc setTitle:@"Schedule"];
[self.navigationController pushViewController:svc animated:YES];
从 ScheduleViewController 的 viewDidLoad,我推送实际的 Kal 日历:
KalViewController *kal = [[KalViewController alloc] init];
[kal setDelegate:self];
[kal setTitle:@"Schedule"];
[self.navigationController pushViewController:kal animated:NO];
所以一旦我这样做了,我就可以让日历显示出来。但是,我似乎无法使用返回按钮干净地返回主菜单。我在 ScheduleViewController 中创建了一个后退按钮:
[kal.navigationItem
setBackBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(test)]];
我已经把它放在几个不同的地方(viewDidLoad、viewWillAppear)并且无法让它工作。当我单击“返回”时,它仍然会转到 ScheduleViewController 而不是一直返回。“测试”永远不会被调用。我已经尝试过 popToRootViewController、[[self.presentingViewController presentingViewController]dismissViewController] 和其他一些。就是不想工作。
- 这是使用 Kal 的最佳方式吗?
- 如何使用此方法 popToRootViewController(跳过 ScheduleViewController)?
谢谢!这是我的第一篇文章,所以如果我能做些什么来让这个问题不那么混乱,请告诉我。