是否有可能通過編程方式將用戶重定向到日曆應用程序新事件屏幕與填充開始和結束日期?我知道Introduction to Calendars and Reminders,但這似乎是一個矯枉過正。我也試過calshow://
,但似乎沒有工作,或者我無法找到一個正確的方案。使用這種iOS:打開日曆應用程序新的事件屏幕與填充日期
0
A
回答
3
@import EventKit;
@import EventKitUI;
那麼現在eventkit:
- (IBAction)ScheduleClicked:(id)sender {
EKEventStore *eventStore = [[EKEventStore alloc]init];
if([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted,NSError* error){
if(!granted){
NSString *message = @"Hey! This Project Can't access your Calendar... check your privacy settings to let it in!";
dispatch_async(dispatch_get_main_queue(), ^{
// Present alert for warning.
});
}else{
EKEventEditViewController *addController = [[EKEventEditViewController alloc] initWithNibName:nil bundle:nil];
addController.event = [self createEvent:eventStore];
addController.eventStore = eventStore;
[self presentViewController:addController animated:YES completion:nil];
addController.editViewDelegate = self;
}
}];
}
}
同時也有給了結束日期的詳細一些代表開始日曆的日期。
#pragma mark - eventEditDelegates -
- (void)eventEditViewController:(EKEventEditViewController *)controller didCompleteWithAction:(EKEventEditViewAction)action{
if (action ==EKEventEditViewActionCanceled) {
[self dismissViewControllerAnimated:YES completion:nil];
}
if (action==EKEventEditViewActionSaved) {
[self dismissViewControllerAnimated:YES completion:nil];
}
}
#pragma mark - createEvent -
-(EKEvent*)createEvent:(EKEventStore*)eventStore{
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title = @"New Event";
event.startDate = @"Your start date";
event.endDate = @"Your end date";
[email protected]"Location";
event.allDay = YES;
event.notes [email protected]"Event description";
NSString* calendarName = @"Calendar";
EKCalendar* calendar;
EKSource* localSource;
for (EKSource *source in eventStore.sources){
if (source.sourceType == EKSourceTypeCalDAV &&
[source.title isEqualToString:@"iCloud"]){
localSource = source;
break;
}
}
if (localSource == nil){
for (EKSource *source in eventStore.sources){
if (source.sourceType == EKSourceTypeLocal){
localSource = source;
break;
}
}
}
calendar = [EKCalendar calendarForEntityType:EKEntityTypeEvent eventStore:eventStore];
calendar.source = localSource;
calendar.title = calendarName;
NSError* error;
[eventStore saveCalendar:calendar commit:YES error:&error];
return event;
}
這createEvent將創建新的日曆
讓我知道,如果你有任何問題。
+0
我表示,我不在乎創建事件編程,只是重定向到日曆應用程序新事件屏幕與預填充值 –
+0
你可以重定向EKEventEditViewController這是你的事件屏幕 –
+0
和我已經做了同樣的事情檢查上面的代碼。 (EKEvent *)createEvent:(EKEventStore *)eventStore { –
相關問題
- 1. 自定義日曆應填充屏幕
- 2. iOS應用程序打開屏幕到應用程序閃爍
- 3. Galaxy S - 日曆添加事件屏幕
- 4. VB日曆 - 填充mysql事件表
- 5. ASP.Net日曆/事件應用程序
- 6. 如何設置日曆應用程序的開始日期
- 7. 我想從android應用程序打開日曆應用程序
- 8. 如何使用其他ios應用程序的默認日程安排屏幕打開超級應用程序?
- 9. 用日曆事件調用ios應用程序
- 10. jQuery的日期選擇器日曆 - 填充與MySQL VB
- 11. iOS iPhone應用程序不會在iPad上填充屏幕
- 12. iOS應用程序不填充iPhone屏幕
- 13. 如何在Android的特定事件中打開日曆中的編輯屏幕....?
- 14. iOS中的應用程序日曆
- 15. 從iOS中卸載應用程序時刪除日曆事件
- 16. 如何打開android日曆應用程序並跳轉到指定日期?
- 17. 用日曆天填充UITableView
- 18. 用約會填充日曆
- 19. 添加事件與我的應用程序日曆IOS7
- 20. 構建日曆到iOS應用程序
- 21. 如何從asp應用程序更新Google日曆事件?
- 22. 事件日期的自動日曆
- 23. 日曆控件顯示日期事件
- 24. 與其他日曆同步我的日曆應用程序
- 25. 應用程序日曆與其他標準日曆的同步
- 26. 如何使用日曆表填充日期間隔
- 27. 新事件的開始日期跟隨點擊事件的開始日期 - fullCalendar
- 28. 以編程方式打開iphone日曆應用程序
- 29. 在日期或事件中打開iCal應用程序的URL方案?
- 30. 僅顯示事件的完整日曆的開始日期和結束日期
是的,這可以發生,你可以重定向它。 –
@NarendraPandey你介意怎麼解釋? –