2014-09-28 36 views
25

想知道是否有人最近遇到這個問題......presentingViewController使用時presentViewController爲零iOS中8

對於我的視圖控制器之一,僅在iOS 8,呼籲presentViewController:animated:completion:,後呈現視圖控制器有self.presentingController爲零。在iOS7上很好,並且在另一個視圖控制器上也不會發生。

documentation表示應該設置它,只要呈現的視圖控制器以模態方式呈現即可。鑑於它在iOS 7中的作用,這可能是一個iOS 8的錯誤?

我已經能夠使用視圖容器遏制方法解決它,但如果有人以前見過這種方法並知道引發此行爲的根本原因,那將會很好。

感謝

+0

你在哪裏登錄了這個。它在viewWillAppear或viewDidAppear中不爲null,但在viewDidLoad中。我不記得它是否與iOS 7不同。 – rdelmar 2014-09-28 04:46:37

+1

所呈現的控制器是第三方控制器,我無法訪問(FBFriendPickerViewController)。我看到它爲零,當我從代理控制器的代碼斷點調用'presentViewController:animated:completion:'之後在線上觸發了一個斷點 – 2014-09-28 08:27:45

回答

37

只好與iOS 8,其中presentingController檢查viewDidLoad值時是零類似的問題。

當調用viewDidLoad時,不能保證在導航樹中加載視圖控制器層次結構。將邏輯移至較後階段(例如:viewWillAppear)應該可以解決該問題,因爲到那時應加載presentingController

+2

這幫了我一個忙。我需要一個指向'presentationViewController'的函數。我創建了一個屬性,訪問並在'viewDidAppear'中存儲'presentsViewController'的指針以備後用。 – Airuop 2016-06-28 06:01:47

相關問題