Objective c iPad UISplitViewController启动时不调整其较大视图的大小?

Objective c iPad UISplitViewController启动时不调整其较大视图的大小?,objective-c,ios,ipad,uisplitviewcontroller,Objective C,Ios,Ipad,Uisplitviewcontroller,我正在开发一个iPad应用程序(iOS4),其中包含一个UISplitViewController。拆分控制器中较大(右侧)视图控制器的主要功能是UITableView。我已将表格视图设置为自动调整宽度和高度: _tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 这意味着,当我旋转“拆分视图”控制器时,VC和表视图会适当调整大小,滚动指示器保持可见。但

我正在开发一个iPad应用程序(iOS4),其中包含一个
UISplitViewController
。拆分控制器中较大(右侧)视图控制器的主要功能是
UITableView
。我已将表格视图设置为自动调整宽度和高度:

_tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight
| UIViewAutoresizingFlexibleWidth;
这意味着,当我旋转“拆分视图”控制器时,VC和表视图会适当调整大小,滚动指示器保持可见。但当我在横向启动应用程序时,视图似乎不会调整大小,因此滚动条不可见

下面是my
UISPlitViewController方法中的日志代码及其结果。如果您想查看摘要,请跳到底部

- (void)splitViewController:(UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController:(UIPopoverController*)pc
{

    NSLog(@"Table frame: %@", NSStringFromCGRect(_tableView.frame));
    NSLog(@"Self frame: %@", NSStringFromCGRect(self.view.frame));
}

- (void)splitViewController:(UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)button
{
    NSLog(@"Table frame: %@", NSStringFromCGRect(_tableView.frame));
    NSLog(@"Self frame: %@", NSStringFromCGRect(self.view.frame));
}
在横向中启动应用程序会产生以下结果(图表A):

表帧:{0223},{768781}

自帧:{0,20},{768,1004}

然后当我旋转(离开横向)时,我得到了这个(图表B):

表帧:{0223},{768781}

自帧:{321,0},{703748}

从纵向开始,然后旋转到横向,我得到了这个(附件C):

表帧:{0223},{768781}

自帧:{0,0},{7681004}

然后旋转回纵向(附件D):

表帧:{0,223},{703,525}

自帧:{321,0},{703748}

在我看来:

  • A和C应该是一样的,因为它们基本上都是旋转的。它们是一样的,所以都很好
  • B和D应该是一样的,因为它们基本上都是旋转的。但事实并非如此。似乎自动调整大小在这里没有起作用
看起来这张桌子的横向宽度应该是703,纵向宽度应该是768。我尝试过在viewDidLoad、ViewWillDisplay、ViewDidDisplay、这两种方法中使用调整大小的代码来设置它,但似乎没有任何效果。这里的正常做法是什么

2011年6月15日更新:我通过完全禁用自动调整大小并在上述两个功能中自行设置帧来解决此问题,但我仍然好奇是否有解决此问题的常见做法