0

我正在使用UISplitview開發應用程序。UIsplitview未回覆輪換

當我的設備形式Landscap旋轉到肖像我設置幀,但它沒有被設置。 在縱向模式下只有detailview在那裏。景觀模式主和細節視圖在那裏。

那麼,怎樣才能確定我在縱向模式下轉動?

是任何一種方法是在那裏?(如在視圖控制器具有willAnimationRotationtoInterfaceorientation)

回答

0

請使用主從應用程序模板爲iPad在Xcode中的新項目。此項目模板創建一個響應界面方向的UISplitViewController。因此,它充分而準確地告訴你如何去做你要做的事情。

1

從我個人理解,你要能夠看到主在縱向視圖。

UISplitViewController的設計特別隱藏在縱向模式主視圖。

有去了解這裏的情況有兩種方式。首先,你聲明你的ViewController控制器爲UISplitViewControllerDelegate。 (哪個視圖控制器作爲委託?保留在堆棧中的那個 - 用於確定它是主控還是細節)。

然後你有幾個委託方法來看一看。

如果你想直線上升只是縱向顯示模式中的主下面的委託方法:

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation 

返回NO(又名你不希望它隱藏視圖控制器)

默認情況下,這不適用於橫向,這就是爲什麼您會看到兩個視圖,而對於縱向是的,這就是您看不到主控的原因。

說的是,更優雅的解決方案可能是隱藏主視圖,然後在導航欄的頂部放置一個按鈕,點擊之後,您將在portait模式下顯示主控。當在主視圖外部點擊時,主人將被隱藏。

要做到這一點,你不要使用上述方法BOOL,但實現這些其他兩種委託的方法代替:

– splitViewController:willHideViewController:withBarButtonItem:forPopoverController: 
– splitViewController:willShowViewController:invalidatingBarButtonItem: 

爲UISplitViewControllerDelegate搜索文檔。