我看到iPad上的ABPeoplePickerNavigationController有一个非常奇怪的UI错误(在横向上),当用户点击PeoplePicker中的搜索栏然后取消时,键盘没有被取消,人员选择器的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标题当前的位置,而不是在搜索栏正下方的视图顶部。
有没有理由说keybaord没有在这里辞职?
我在调试时遇到困难,因为ABPeoplePickerNavigationController不是可子类的,所以非常感谢任何帮助!
答案 0 :(得分:0)
这就是UIModalPresentationFormSheet
的工作原理:默认情况下,当第一个响应者被辞职时,它不会解除键盘。显然ABPeoplePickerNavigationController不希望以这种方式使用。我的建议是:不要这样做。使用弹出窗口或正常显示的视图。 (我的经验是,弹出窗口看起来更好。)
答案 1 :(得分:0)
使用[self.view endEditing:YES];当你完成时