为什么我的UITableView会改变它的大小?

时间:2011-04-26 14:39:53

标签: ipad uitableview rotation pop

我有一个UIView,其中包含iPad应用中的tableview。当设备旋转时,我在navController上推送另一个视图。当设备旋转回来时,我从navController弹出顶视图。但是,出于某种原因,每次发生这种情况时,第一个视图中的UITableView都会更大,并且会覆盖其他一些东西。为什么会发生这种情况的任何想法?我很茫然。谢谢!

3 个答案:

答案 0 :(得分:1)

在navitroller的根目录中,我写了这个函数

-(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:
(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration
{
    UIInterfaceOrientation orient=self.interfaceOrientation;
    if (orient==UIInterfaceOrientationLandscapeLeft || orient==UIInterfaceOrientationLandscapeRight) 
    {
        viewtwo *two=[[viewtwo alloc] initWithNibName:@"viewtwo" bundle:nil];
        [self.navigationController pushViewController:two animated:YES];

    }
        [UIView commitAnimations];

}

并在viewtow viewcontroller中我为弹出导航

编写了这个函数
-(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:
(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration
{
    UIInterfaceOrientation orient=self.interfaceOrientation;
    [UIView beginAnimations:@"move Button" context:nil];
    if (orient==UIInterfaceOrientationPortrait || orient==UIInterfaceOrientationPortraitUpsideDown) 
    {
        [self.navigationController popViewControllerAnimated:YES];      
    }
    [UIView commitAnimations];

}

这是没问题的,我的意思是uitableview尺寸和以前一样。

答案 1 :(得分:0)

我将tableView放在我的第一个视图中的子视图内(抱歉,这听起来令人困惑)并且出于某种原因,当我弹出navController时,表现在保持相同的大小。一切都好!

答案 2 :(得分:0)

在Interface Builder中检查自动调整大小的掩码,或在代码中设置它们。