2
我設置了一個基於主 - 細節應用程序的故事板,將詳細信息視圖嵌入到導航控制器中,並添加了一個新的表視圖控制器對象,我將其用作第二個詳細視圖控制器。UISplitViewController在推送新細節時不調用委託方法
然後我用下面的代碼推送新的詳細視圖控制器(而不是segue,因爲我同時推送了根視圖和詳細視圖控制器,只顯示了詳細視圖代碼)。
// Push the detailView view controller:
NewClass *newViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"test"];
newViewController.navigationItem.hidesBackButton = YES;
self.splitViewController.delegate = newViewController;
[self.detailViewController pushViewController:newViewController animated:YES];
除了在推送之前或之後從未調用splitView委託方法以外,此功能完美無缺。如果我在縱向模式下執行此操作,則在按下detailViewController後,下拉masterView彈出窗口的按鈕不會顯示,直到我旋轉到橫向模式,然後返回縱向模式。
如何導致willHideViewController/willShowViewController分離視圖控制器委託方法被調用或手動導致它們被調用?
感謝張貼您的解決方案。我有這個確切的問題,它已經讓我堅持了幾天。 您是否介意(如果您還記得 - 我瞭解它是在一年前),告訴我您在哪裏找到的,因爲方向沒有改變,它不會調用方法? – Darrrrrren
在UISplitViewController類引用的底部(http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewControllerDelegate_protocol/Reference/Reference.html#//apple_ref/occ/intfm/UISplitViewControllerDelegate/splitViewController :willShowViewController:invalidatingBarButtonItem :)在這兩個方法的討論部分中,它說:「當視圖控制器從縱向旋轉到橫向時」(反之亦然)....當你推新視圖控制器時,你並不是不旋轉。 – lnafziger
謝謝。我在猜測我正在做一些不被認爲會遇到這個問題的東西,但它不是一個炫目的東西,所以我會坐在它上面一段時間。 – Darrrrrren