我有一个UIView,其中包含iPad应用中的tableview。当设备旋转时,我在navController上推送另一个视图。当设备旋转回来时,我从navController弹出顶视图。但是,出于某种原因,每次发生这种情况时,第一个视图中的UITableView都会更大,并且会覆盖其他一些东西。为什么会发生这种情况的任何想法?我很茫然。谢谢!
答案 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中检查自动调整大小的掩码,或在代码中设置它们。