作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当 EKEventViewController 完成事件编辑时,我没有收到对 eventViewController:didCompleteWithAction: 的调用。
这是我的设置方法:
- (void)showCalendar:(id)sender {
EKEventViewController *eventViewController = [[EKEventViewController alloc] init];
eventViewController.delegate = self;
eventViewController.event = self.event;
// Allow event editing.
eventViewController.allowsEditing = YES;
[self.navigationController pushViewController:eventViewController animated:YES];
[eventViewController release];
}
我的类上确实有协议(protocol),并且该方法是通过复制并粘贴文档中的定义来实现的。它只是没有被调用。
如果我使用 EKEventEditViewController 及其相应的委托(delegate),那么在保存事件时就会调用它。
我也能够在 SimpleEKDemo 代码中重现该问题。有谁知道可能出了什么问题吗?
我可以放弃 View 功能并直接转到 EKEventEditViewController,但我不愿意。
最佳答案
可能有点晚了,但我也遇到了这个问题。
为了解决这个问题,我对 EKEventViewController
进行了子类化,然后在子类的 viewDidLoad
中,我用自己的按钮替换了标准编辑按钮:
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *editItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self.delegate action:@selector(editCalEvent)];
self.navigationItem.rightBarButtonItem = editItem;
}
这样,当您想要编辑事件时,您可以设置自己的 EKEventEditViewController
并指定其委托(delegate)以响应更改:
- (void)editCalEvent {
EKEventEditViewController *editController = [[EKEventEditViewController alloc] init];
editController.event = editingEvent;
editController.eventStore = self.eventStore;
editController.editViewDelegate = self;
[self presentModalViewController:editController animated:YES];
[editController release];
}
希望有帮助。
关于iphone - EKEventViewDelegate didCompleteWithAction 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4755155/
当 EKEventViewController 完成事件编辑时,我没有收到对 eventViewController:didCompleteWithAction: 的调用。 这是我的设置方法: - (
我是一名优秀的程序员,十分优秀!