0

我在 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 不是子类,所以任何帮助将不胜感激!

4

2 回答 2

0

这就是UIModalPresentationFormSheet工作原理:默认情况下,当第一响应者辞职时,它不会关闭键盘。显然 ABPeoplePickerNavigationController 不希望以这种方式使用。我的建议:不要那样做。使用弹出框或正常呈现的视图。(我的经验是弹出框看起来更好。)

于 2014-04-25T18:01:31.533 回答
0

使用 [self.view endEditing:YES]; 当你完成

于 2015-06-30T10:58:59.940 回答