ABPersonViewController
ナビゲーション スタックにプッシュするのではなく、モーダルとして表示したいと考えています。私はこれを機能させましたが、完了ボタンを表示し続けるには、NSTimer を使用して 0.25 秒ごとにボタンを追加する必要がありました。これはかなり不十分なハックなので、誰かがより良いアイデアを持っているかどうか疑問に思っています:)
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];
}