在作为弹出窗口触发时更改MasterViewController的大小

时间:2012-03-31 12:24:31

标签: objective-c ios ipad uisplitviewcontroller uipopovercontroller

使用溢出的视图控制器时,我有一个主视图和详细信息视图。当iPad处于纵向模式时,主视图将显示为弹出窗口。如何调整masterview(弹出视图)的高度? 我试过了:

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

但我不确定是否设置此项?

enter image description here

2 个答案:

答案 0 :(得分:5)

您曾经可以使用contentSizeForViewInPopover在viewDidLoad中设置大小。但是在iOS 5.1中,主视图控制器的显示样式已更改为滑入而不是显示为标准弹出窗口。据我所知,它仍然 UIPopover,但我们不能再修改它的大小。我在视图上尝试了contentSizeForViewInPopover,并在popover as suggested on the developer forums上尝试了setPopoverContentSize,但都没有任何效果。

UISplitViewController class reference不承认此更改,类UIViewControllerUIPopoverController的引用也没有,View Controller Programming Guide仍然显示主视图的旧样式控制器popover。

您可以尝试更改详细视图中的表格视图的高度,然后hide the popover's background。我自己没试过。

此外,由于您的详情视图正在显示地图,因此您可能需要disable the right-swipe gesture that now invokes the master view,以防止其干扰地图手势。

答案 1 :(得分:0)

我见过Apple示例使用主视图控制器的awakeFromNib方法以及viewDidLoad。我不确定选择其中一个是否是最重要的原因。