EKEventEditViewController的“添加”和“取消”按钮没有响应

And*_*lum 5 calendar objective-c eventkit ekevent ekeventkit

我正在尝试使用添加日历事件EKEventEditViewController。我已经安装一EKEventEditViewController正确与EKEventStore,EKEvent,和其editViewDelegate作为呈现视图控制器。该EKEventEditViewController礼物本身正确的,但是当我按下任一“添加”或“取消”,didCompleteWithAction不叫EKEventEditViewDelegate。但是,我确实收到此错误(虽然没有崩溃):

[EKCalendarItemLocationInlineEditItem isSubitemAtIndexSaveable:] - Location Inline Edit Item didn't have a text label on its non conference location cell; will return NO
Run Code Online (Sandbox Code Playgroud)

你可以看到这里是EKCalendarItemLocationInlineEditItem在EventKitUI框架。

似乎这与位置有关,但我似乎无法弄清楚。有没有人遇到此错误,或者有任何进一步调试的提示?谢谢!我正在运行iOS 11和Xcode 9.0.1。

Chr*_*ler 1

看来您editViewDelegate在呈现 之前没有设置EKEventEditViewController。如果没有委托,按钮“添加”和“取消”不会响应。

创建 EventView 并呈现 (Swift)

let eventView: EKEventEditViewController = EKEventEditViewController()
eventView.event = event
eventView.editViewDelegate = self
eventView.eventStore = eventStore

present(eventView, animated: true) { }
Run Code Online (Sandbox Code Playgroud)

对象C

EKEventEditViewController *eventView = [[EKEventEditViewController alloc] init];
eventView.event = event;
eventView.editViewDelegate = self;
eventView.eventStore = eventStore;

[self presentViewController:eventView animated:true completion: nil];
Run Code Online (Sandbox Code Playgroud)