Я на полпути к реализации очень простой кнопки «Добавить контакт». Я вызываю «Добавить представление» с помощью кода (через связанный UIButton, который работает):
- (IBAction)showAddContact {
NSLog(@"Hit showAddContact");
ABNewPersonViewController *newPersonViewController = [[ABNewPersonViewController alloc] init];
addContactNavController = [[UINavigationController alloc] initWithRootViewController:newPersonViewController];
[self presentModalViewController:addContactNavController animated:YES];
}
и затем я также установил резонанс делегата:
- (void)newPersonViewController:(ABNewPersonViewController *)newPersonViewController didCompleteWithNewPerson:(ABRecordRef)person {
NSLog(@"Hit newPersonViewController");
//ABContact *contact = [ABContact contactWithRecord:person];
[self.navigationController popViewControllerAnimated:YES];
}
в моем заголовке я установил:
#import <UIKit/UIKit.h>
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
@interface test2ViewController : UIViewController <ABNewPersonViewControllerDelegate> {
UINavigationController* addContactNavController;
}
- (IBAction)showAddContact;
@end
Я добавил фреймворки Addressbook и AddressBookUI.
Диалоговое окно добавления появляется, как и ожидалось, я могу редактировать контакт, но я не могу удалить модальный контроллер вида из вида.
Я даже продублировал проблему в простом тестовом проекте, доступном здесь: текст ссылки
Чего мне не хватает? Спорим, это что-то чрезвычайно простое.
Спасибо @ norskben