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