非常に基本的な「連絡先の追加」ボタンの実装の途中です。コードを使用して「ビューの追加」を呼び出しています(リンクされた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