ABPersonViewController в модальном

Я хотел бы показать ABPersonViewController как модальный вместо того, чтобы толкать его на стек навигации. У меня это работает, но для сохранения кнопки "Готово" мне пришлось использовать NSTimer для добавления кнопки каждые 0,25 секунды, потому что кнопка "Готово" может быть удалена, когда появляется представление, и всегда удаляется, когда приложение входит в forground. Это довольно неудачный взлом, поэтому мне интересно, есть ли у кого идея получше:)

Я сделал подкласс ABPersonViewController это добавляет кнопку "Готово" и запускает таймер при загрузке представления и делает его недействительным, когда представление освобождается.

Вот как выглядит мой код, чтобы показать модальность:

- (IBAction)showContactModal:(id)sender{
    CNABPersonViewController *personViewController = [[CNABPersonViewController alloc] init];
    personViewController.displayedPerson = self.contact.record;
    personViewController.addressBook = [[CNAddressBookManager sharedManager] addressBook];
    personViewController.viewDelegate = self;
    personViewController.shouldShowLinkedPeople = YES;
    UINavigationController *navigationController =
    [[UINavigationController alloc] initWithRootViewController:personViewController];
    navigationController.modalPresentationStyle = UIModalPresentationFormSheet;     
    [self presentViewController:navigationController animated:YES completion:nil];
}

1 ответ

У меня был успех в этом деле. Вставьте эту строку, чтобы добавить кнопку на панель навигации:

    personViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Test" style:UIBarButtonItemStylePlain target:self action:@selector(_yourAddressBookAction)];

Если это не решит вашу проблему, пожалуйста, покажите нам код, с которым у вас возникла проблема.

Другие вопросы по тегам