EKEditviewController продолжает показывать название в navigationbar

Я работаю с Структура EventKit . Это работает почти прекрасное, но у меня есть все еще некоторые проблемы. Когда я выдвигаю мой на Событие, оно идет в детали того События. Это показывает правильно детали, и я могу также отредактировать и спасти его. Проблема с панелью навигации.

Это показывает названия в панели навигации. Эти названия - Детали Событий и Редактируют . Также это не показывает backbutton, чтобы вернуться к моему календарю. То, что я также должен упомянуть, - то, что я использую Календарную структуру Kal.

Я продвигаюсь к de 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;
}
0

2 ответы

Я предложил это решение:

EKEventEditViewController * controller = [[EKEventEditViewController alloc] init];
    controller.eventStore = self.eventStore;
    controller.event = result;
    controller.title = @"";
    controller.navigationItem.title = @"";
    controller.navigationItem.titleView = [UIView new];
    NSArray * array =controller.navigationBar.items;
    UINavigationItem * titleItem = array.firstObject;
    titleItem.title = @"";
    controller.editViewDelegate = (id)self;
    [self presentViewController:controller animated:YES completion:NULL];

EKEventEditViewController не включен в навигационного диспетчера, у этого есть свое собственное UINavigationBar , я держу элемент навигации, если Apple изменит это в будущем и включит его в навигационного диспетчера.

0
добавлено

я думаю, что вы добавили элемент навигации на файле пера или раскадровке. удалите его.

сделайте сам title=nil; или self.title = "";

0
добавлено
@StefGeelen:why, которые вы наклоняете, удаляют его
добавлено автор Ravindra Bagale, источник
если вы внешне добавили тогда, что можно удалить it.if u не добавленный внешне тогда, он не требует
добавлено автор Ravindra Bagale, источник
Я can' t удаляют его. Я думаю, что это то, потому что I' ve включен в навигационного диспетчера.
добавлено автор Steaphann, источник
Поскольку, как только вы включаете свой VC в навигационного диспетчера. Это автоматически добавляет его к вашему VC.
добавлено автор Steaphann, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.