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)];
Если это не решит вашу проблему, пожалуйста, покажите нам код, с которым у вас возникла проблема.