为了账号安全,请及时绑定邮箱和手机立即绑定

UINavigationController的高度问题

UINavigationController的高度问题

叮当猫咪 2019-03-29 10:57:23
UINavigationController*navController=[[UINavigationControlleralloc]initWithRootController:rootController];这个时候navController.view的高度是480,到了rootController后,self.navigationController.view的高度怎么又变成了460???确实是有个地方修改了frame,我还是有个疑问,既然navigationcontroller的view高度是480,为什么导航是从statusbar下面开始显示的??是不是在navigationController的initWithRootViewController:rootViewController方法里,把navigationController的viewframe修改成rootViewController的viewframe了,不然解释不通啊
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我勒个去~~~这么诡异,我在我的应用里打印了一把,都是480的。但是你提到的情况,很可能是某个操作影响了statusbar,造成navController的高度变了。因为iPhone里只有statusbar的高度是20像素的。
能贴一下其他代码么?看看问题出在哪里一下是我的代码和输出结果:
TestAppDelegate.m-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
self.window=[[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]]autorelease];
//Overridepointforcustomizationafterapplicationlaunch.
self.window.backgroundColor=[UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
self.viewController=[[TestViewControlleralloc]init];
self.navController=[[UINavigationControlleralloc]initWithRootViewController:self.viewController];
NSLog(@"height:%f",self.navController.view.frame.size.height);
[self.windowaddSubview:self.navController.view];
NSLog(@"height:%f",self.navController.view.frame.size.height);
returnYES;
}TestViewController.m-(void)viewDidLoad
{
[superviewDidLoad];
	//Doanyadditionalsetupafterloadingtheview.
NSLog(@"height:%f",self.navigationController.view.frame.size.height);
}三个NSLog打印出来的都是4802012-09-1923:43:13.561NAVTest[1132:c07]height:480.000000
2012-09-1923:43:13.562NAVTest[1132:c07]height:480.000000
2012-09-1923:43:13.563NAVTest[1132:c07]height:480.000000
                            
查看完整回答
反对 回复 2019-03-29
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

确实是有个地方修改了frame,我还是有个疑问,既然navigationcontroller的view高度是480,为什么导航是从statusbar下面开始显示的??是不是在navigationController的initWithRootViewController:rootViewController方法里,把navigationController的viewframe修改成rootViewController的viewframe了,不然解释不通啊?
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 604 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信