2012-02-22 88 views
0

我有導航控制器酥料餅內側模態視圖控制器酥料餅,然後我從這個酥料餅內呈現的ABPeoplePickerNavigationController:辭退內部

self.abPicker.modalPresentationStyle = UIModalPresentationCurrentContext; 
self.abPicker.modalInPopover = YES; 
[self presentModalViewController:self.abPicker animated:YES]; 

的問題是,酥料餅不能在這個階段時駁回,我按下外面的popover區域,沒有任何事情發生。

任何想法?

回答

0

您忘記了分配代表(peoplePickerDelegate)。只有委託事件才能關閉所提供的視圖控制器,所以您絕對需要委託。代表事件將在ABPeoplePickerNavigationController上調用dismiss...

如果您不希望生成的彈出窗口爲模態,那麼爲什麼您要使用presentModalViewController來顯示ABPeoplePickerNavigationController?這就是模態意味着什麼!你正在模態化,然後抱怨它是模態的;這就像打在臉上,然後抱怨你的臉被擊中。 (更不用提,你也設置modalInPopover爲YES,那麼你打自己的臉兩次。)

iPad上平常的事情是實例的ABPeoplePickerNavigationController並直接使用它作爲一個新的酥料餅的控制器的視圖控制器。

+0

是的,我有(只是錯過了這裏的完整代碼),所有代表的東西正在工作,取消按鈕和聯繫人選擇。 – artysx 2012-02-22 18:00:16

+0

但是標準的行爲,當你按下外面的popover時,它應該消失,不起作用。我假設我需要爲模態視圖控制器再次設置popover的委託,但我不明白在哪裏。 – artysx 2012-02-22 18:02:52