0

で作業していEventKit Frameworkます。ほぼ完璧に機能していますが、まだいくつかの問題があります。イベントをプッシュすると、そのイベントの詳細に移動します。詳細が正しく表示され、編集して保存することもできます。問題はナビゲーションバーにあります。

ナビゲーション バー内のタイトルを示します。これらのタイトルは、Event Details と Editです。また、カレンダーに戻るための戻るボタンも表示されていません。また、Kal Calendar フレームワークを使用していることにも言及する必要があります。

このようにdetailsViewControllerにプッシュしています。

 Appointment *appointment = [dataSource appointmentAtIndexPath:indexPath];

    // Upon selecting an event, create an EKEventViewController to display the event.
    self.detailViewController = [[EKEventViewController alloc] initWithNibName:nil bundle:nil];
    self.detailViewController.title = @"";
    detailViewController.event = appointment.event;

    // Allow event editing.
    detailViewController.allowsEditing = YES;

   [calendar.navigationController pushViewController:detailViewController animated:YES];

そして、これは私の代理人がどのように見えるかです

// Overriding EKEventEditViewDelegate method to update event store according to user actions.
- (void)eventEditViewController:(EKEventEditViewController *)controller
          didCompleteWithAction:(EKEventEditViewAction)action {

    NSError *error = nil;
    EKEvent *thisEvent = controller.event;
    controller.title = @"";
    switch (action) {
        case EKEventEditViewActionCanceled:
            // Edit action canceled, do nothing.
            break;

        case EKEventEditViewActionSaved:
            // When user hit "Done" button, save the newly created event to the event store,
            // and reload table view.
            // If the new event is being added to the default calendar, then update its
            // eventsList.
            if (self.defaultCalendar ==  thisEvent.calendar) {
                [self.eventsList addObject:thisEvent];
            }
            [controller.eventStore saveEvent:controller.event span:EKSpanThisEvent error:&error];
            //[calendar reloadData];
            break;

        case EKEventEditViewActionDeleted:
            // When deleting an event, remove the event from the event store,
            // and reload table view.
            // If deleting an event from the currenly default calendar, then update its
            // eventsList.
            if (self.defaultCalendar ==  thisEvent.calendar) {
                [self.eventsList removeObject:thisEvent];
            }
            [controller.eventStore removeEvent:thisEvent span:EKSpanThisEvent error:&error];
            //[calendar reloadData];
            break;

        default:
            break;
    }
    // Dismiss the modal view controller
    [controller dismissModalViewControllerAnimated:YES];

}


// Set the calendar edited by EKEventEditViewController to our chosen calendar - the default calendar.
- (EKCalendar *)eventEditViewControllerDefaultCalendarForNewEvents:(EKEventEditViewController *)controller {
    EKCalendar *calendarForEdit = self.defaultCalendar;
    return calendarForEdit;
}
4

2 に答える 2

0

ストーリーボードまたは nib ファイルにナビゲーション項目を追加したと思います。それを除く。

作るself.title=nil;self.title=@"";

于 2013-02-07T08:51:31.127 に答える