iPad の ABPeoplePickerNavigationController (横向き) で、ユーザーが PeoplePicker の検索バーをクリックしてからキャンセルすると、キーボードが再起動されず、People Picker の UI がすべて台無しになる、非常に奇妙な UI バグが見られます。バグの写真は次のとおりです。
ABPeoplePickerNavigationController は、次のコードを使用してモーダル フォーム シートに表示されます。
- (void) openAddressBook
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
picker.delegate = self;
[picker setModalPresentationStyle: UIModalPresentationFormSheet];
[self presentViewController:picker animated:YES completion: nil];
}
UI は、ユーザーが検索フィールドをタップしてキーボードを表示し、検索フィールドをキャンセルして、iPhone のようにキーボードを破棄しないまで、期待どおりです。また、ユーザーがこのモードで連絡先リストをスクロールすると、すべての文字ヘッダー (つまり、A ヘッダー) が、検索バーのすぐ下のビューの上部ではなく、A ヘッダーが現在ある場所に固定されます。
キーボードがここで辞任されていない理由はありますか?
ABPeoplePickerNavigationController はサブクラス化できないため、これをデバッグするのに苦労しています。