Apple僅爲橫向提供分割視圖,但不提供縱向模式。有沒有什麼辦法在縱向模式下實現分屏?以縱向模式分割視圖!
[splitViewController setHidesMasterViewInPortrait:NO];
這將工作。但是這個API沒有記錄(私人)。
感謝,
Manjunath
Apple僅爲橫向提供分割視圖,但不提供縱向模式。有沒有什麼辦法在縱向模式下實現分屏?以縱向模式分割視圖!
[splitViewController setHidesMasterViewInPortrait:NO];
這將工作。但是這個API沒有記錄(私人)。
感謝,
Manjunath
對於iOS5 +,
轉到您的detailViewController
。您的detailViewController
應該有UISplitViewControllerDelegate
。只需簡單地將此代碼放入:
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation{
return NO;
}
這樣做就可以了。它是公共API。
這是一個具有各種有用增強功能的自定義分割視圖控制器。當然,你可以在肖像中顯示主視圖。
有時候,我試圖實現類似的事情。在嘗試了Matt的代碼之後,並沒有嘗試創建一個類別,我意識到唯一的方法就是使用兩個自定義視圖(以Apple不會拒絕你的應用程序的方式)。請參閱this問題。
我在這裏的貢獻不大。
字節的答案是正確的,直到iOS的7,iOS的8起,你應該使用preferredDisplayMode
例如,縱向顯示模式中,兩個視圖控制器執行以下操作:
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
希望這有助於!在iOS中的Xcode 8 6+
更新
if let splitVCExists = self.splitViewController{
splitVCExists.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
}
有一件事我注意到的是,它會嘗試佈局基礎上,preferredDisplayMode只要在splitviewcontroller有足夠空間。否則會選擇顯示模式以適合內容。我已經使用了它,它讓我們在縱向和橫向上都能看到我想要的風景。
這在iOS 8中已棄用。 – Joey 2014-07-31 19:37:13