2012-04-28 24 views
1

我有一個Master/Detail視圖,它通過storyboard segue打開彈窗視圖。主視圖控制器的導航欄上有一個添加按鈕,可以正常工作。performSegueWithIdentifier失敗presentPopoverFromBarButtonItem Popovers無法從沒有窗口的視圖呈現

我添加了一個編輯模式,其中通過在編輯模式下選擇表單元格來調用相同的彈出窗口。它失敗了[self performSegueWithIdentifier:@「addQuery」sender:self];聲明。彈出窗口中的viewDidLoad被調用,但在此之後拋出異常。

我沒有調用presentPopoverFromBarButtonItem - 它似乎來自performSegueWithIdentifier。

毫無疑問,主視圖控制器有一個窗口 - 單擊該視圖的表格單元以啓動整個失敗的過程。

彈出窗口是導航控制器序列的開始,這可能是問題的一部分。當它真的被按鈕調用時,一切正常,只是試圖以編程方式調用它失敗。

我試着改變performSegueWithIdentifier的「發件人」無濟於事。

我懷疑這個問題與segue沒有被按鈕調用有關,我不知道如何僞造。

任何想法?

+0

可能重複的問題在這裏:http://stackoverflow.com/questions/3377001/popovers-cannot-be-presented-from-a-view-which-does-不具備的,一個窗口 – jonkroll 2012-04-28 22:43:58

回答

1

似乎有如何的iPad酥料餅賽格瑞的工作的一些錯誤 - 見Wayne Hartman's blog post

一個簡單的測試表明,viewWillAppear中被viewDidLoad中後調用。

我想我明白這個問題......還沒有找到解決方案。

,其中被稱爲的方法是爲了...

  1. [發起賽格瑞]
  2. viewDidLoad中
  3. prepareForSegue
  4. viewWillAppear中

我感動我的初始化代碼viewWillAppear方法 - 它工作。

一般來說,我覺得在viewWillAppear而不是viewDidLoad中初始化可能是個好主意。

0

我有一個類似的問題:

我使用UIDocumentInteractionController來打開Kaynote應用一個kaynote文件。我使用相同的代碼:

[docController presentOpenInMenuFromBarButtonItem:_actionBarButtonItem animated:YES]; 

以上代碼是從actiobBarButtonItem開酥料餅與我想用它來打開我的文件是什麼應用程序選項。如果從DetailViewController我得到同樣的錯誤消息,因爲這線程筆者我同樣的事情:

「Popovers不能從沒有一個窗口視圖中顯示」我能找到我的問題一個快速解決方案。我不確定它是否與你的相關。而不是使用「presentOpenInMenuFromBarButtonItem」我使用「presentOpenInMenuFromRect」,那就是它。你只需要定義合適的popover地點

相關問題