2013-03-08 55 views
2

我在我的iPad應用程序中使用UISplitViewController,並且我不太喜歡彈出窗口視圖的滑動方式,並覆蓋了屏幕的三分之一,並且在縱向模式下時仍處於此位置。UISplitViewController - 調整細節視圖的大小

當彈出窗口滑入視圖時,我正在調整「細節」視圖的大小,並且此工作正常,但頂部的導航欄保持全寬(並且位於彈出窗口下方)。 我基本上希望它在橫向模式下看起來像。

這是我用它來調整視圖代碼:

UIViewController *masterView = [svc.viewControllers objectAtIndex:0]; 
UINavigationController *detailNavView = [svc.viewControllers objectAtIndex:1]; 
UIViewController *detailView = [detailNavView.viewControllers objectAtIndex:0]; 

detailView.view.frame = CGRectMake(masterView.view.frame.size.width, 0, detailView.view.frame.size.width - masterView.view.frame.size.width, detailView.view.frame.size.height); 

我已經嘗試設置detailNavView.view.frame但沒有任何反應。

如何調整包括導航欄在內的整體細節視圖?

回答

4

嗯,我認爲UISplitViewController是不是真的很靈活。這只是蘋果公司決定的事情:縱向分割,縱向分割。詳細視圖佔據了該控制器的整個視圖(即主視圖),因此您必須將其定義爲另一種控制器的主視圖的子視圖,以便像這樣操縱其導航欄。

自定義縱向視圖的唯一解決方案是實際取消Apple版本的分割視圖控制器並自行推出。

也許最實用的解決方案是在選定項目並在詳細視圖中顯示之後關閉彈出窗口

+1

謝謝。我決定採用'選擇新項目後自動關閉彈出窗口'的方法。意味着我可以玩整個屏幕。謝謝 – Darren 2013-03-08 14:36:14

+0

這是一個好方法。我會把它放到爲別人着想的答案中。 – Mundi 2013-03-08 17:45:41

相關問題