2012-01-23 29 views
9

我在故事板中定義了一個帶有SplitViewController的iPad界面。我想將SplitViewController的委託設置爲指向詳細控制器,但IB不允許建立該連接。故事板中的SplitView,無法連接代理

  • 放置一個「對象」對象並將其更改爲我的詳細控制器的類,使委派指向細節控制器的另一個實例,而不是顯示的實例。
  • 我在應用程序委託中手動(在didFinishLaunching中)連接它的嘗試毫無結果,代表仍然爲零。
  • 將委託更改爲AppDelegate並實現其中的協議,但將消息傳遞到詳細控制器不起作用(即使我驗證了我引用的是同一實例)。

沒有用。加載詳細視圖時,我可以設置self.splitViewController.delegate = self,然後它成爲沒有問題的代表。但是我錯過了在那之前發生的任何代表電話。

對於上下文,我需要獲取splitviewcontroller的委託調用,以便我可以在detailview中顯示按鈕以顯示彈出窗口,這是標準做法。現在,如果應用程序以縱向方式啓動,則必須將其旋轉到橫向,然後再返回以顯示按鈕。

我已經用「普通」xib做了這個沒有問題。這似乎是一個更爲普遍的問題,即不允許在故事板中的場景之間進行連接的特殊情況。

回答

9

我不知道爲什麼這個工作這段時間,而不是第一個80次,但我將此添加到我的AppDelegate:

UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController; 
UINavigationController *navigationController = [splitViewController.viewControllers lastObject]; 
splitViewController.delegate = (id)navigationController.topViewController; 
+1

通知你,我用最新的Xcode運行到同樣的問題仍然> 6.1。我使用相同的解決方法看起來像一個錯誤。 – Drux