我有内置导航控制器,然后我通过以下方式在此弹出框中显示ABPeoplePickerNavigationController:
self.abPicker.modalPresentationStyle = UIModalPresentationCurrentContext;
self.abPicker.modalInPopover = YES;
[self presentModalViewController:self.abPicker animated:YES];
问题是在这个阶段不能解除弹出窗口,当我按下弹出区域外,没有任何事情发生。
有什么想法吗?
答案 0 :(得分:0)
您忘了分配代理人(peoplePickerDelegate
)。只有委托事件可以关闭呈现的视图控制器,因此您绝对需要委托。委托事件将在ABPeoplePickerNavigationController上调用dismiss...
。
如果您不希望生成的弹出窗口是模态的,那么为什么要使用presentModalViewController
呈现ABPeoplePickerNavigationController?这就是模态的意思!你正在模仿,然后抱怨它的模态;这就像打自己的脸,然后抱怨你的脸被击中。 (更不用说你也将modalInPopover
设置为YES,这样你就会两次击中脸部。)
iPad上常见的事情是实例化ABPeoplePickerNavigationController并直接将其用作新的弹出控制器的视图控制器。