7

當使用分散視圖控制器時,我有一個主視圖和詳圖視圖。當iPad處於肖像模式時,主視圖顯示爲彈出式菜單。我如何調整主視圖的高度(彈出視圖)? 我試過了:更改作爲彈出窗口觸發時MasterViewController的大小

self.contentSizeForViewInPopover = CGSizeMake(320.0, 2 * 52.0); 

但是我不確定是否要設置它?

enter image description here

+0

我有這個相同的問題,它在我升級到5.1開發工具時就開始了。 – lnafziger 2012-04-02 16:41:34

+0

所以你認爲是SDK/OS中的錯誤? – PhillyNJ 2012-04-02 17:07:32

+0

對我來說,這是一種行爲上的改變。我不確定它是否是一個錯誤,而且還沒有花費大量的時間來研究它... – lnafziger 2012-04-02 17:09:16

回答

5

您以前可以使用contentSizeForViewInPopover在viewDidLoad中設置大小。但在iOS 5.1中,主視圖控制器的演示風格已更改爲滑入,而不是作爲標準彈出窗口顯示。據我所知,它仍然是一個UIPopover,但我們不能再修改它的大小。我在視圖上嘗試了contentSizeForViewInPopover,以及彈出框as suggested on the developer forums上的setPopoverContentSize,並且都沒有任何效果。

UISplitViewController class reference不承認這種變化,也不是爲UIViewControllerUIPopoverController做類引用,而View Controller Programming Guide仍然顯示主視圖控制器酥料餅的老款式。

您可以嘗試更改詳細信息視圖中的表視圖的高度,然後hide the popover's background。我沒有自己嘗試過。

此外,由於您的詳細視圖正在顯示地圖,因此您可能需要disable the right-swipe gesture that now invokes the master view,以防止干擾地圖手勢。

0

我見過的蘋果樣品使用主視圖控制器的awakeFromNib方法,也viewDidLoad中。我不確定有一個最重要的理由來選擇一個或另一個。

+0

謝謝,但既不意味着作品。 – PhillyNJ 2012-03-31 16:42:25

+0

奇數。我只是在一個測試分割視圖項目中嘗試了它,並且簡單的例子工作。 (我看到一個'錯誤',將一個新的控制器推入主區域,然後返回到小區域,將其設置回默認大小......不知道如何解決這個問題。) – 2012-03-31 16:50:51

+0

也許在viewWillAppear? – lnafziger 2012-04-02 17:11:22