我在ios7下运行代码:
- 有导航栏时,布局为CGRectMake(0, 0, 40, 40),view从导航栏下开始;
- 如果
self.navigationController.navigationBar.hidden = YES
处理后,布局为CGRectMake(0, 0, 40, 40)view会从屏幕的顶端开始,被状态栏挡住一部分; - 不然空出导航栏的位置CGRectMake(0, 20, 40, 40),view会从状态栏下面在下移20开始。
这个不知道怎么解决,请高手指点~~万分感谢。
我的导航栏和标签栏是通过下面代码处理的,不知道有没有影响:
OYIFirstViewController * vc1 = [[OYIFirstViewController alloc] init];
OYIOrderViewController * vc2 = [[OYIOrderViewController alloc] init];
OYISecondViewController * vc3 = [[OYISecondViewController alloc] init];
//每一个tabBarItem添加一个navigation
UINavigationController *navController1 =
[[UINavigationController alloc] initWithNavigationBarClass:[testNavigationBar class]
toolbarClass:nil];
[navController1 setViewControllers:[NSArray arrayWithObject:vc1]];
UINavigationController *navController2 =
[[UINavigationController alloc] initWithNavigationBarClass:[testNavigationBar class]
toolbarClass:nil];
[navController2 setViewControllers:[NSArray arrayWithObject:vc2]];
UINavigationController *navController3 =
[[UINavigationController alloc] initWithNavigationBarClass:[testNavigationBar class]
toolbarClass:nil];
[navController3 setViewControllers:[NSArray arrayWithObject:vc3]];
navController1.navigationBar.translucent = NO;
navController2.navigationBar.translucent = NO;
navController3.navigationBar.translucent = NO;
navController1.navigationBar.tintColor = [UIColor whiteColor];
navController2.navigationBar.tintColor = [UIColor whiteColor];
navController3.navigationBar.tintColor = [UIColor whiteColor];
//tabBar设置标签名
UITabBarItem *customItem1 = [[UITabBarItem alloc] initWithTitle:@"首页" image:[UIImage imageNamed:@"HOME"] tag:0];
navController1.tabBarItem = customItem1;
UITabBarItem *customItem2 = [[UITabBarItem alloc] initWithTitle:@"发现" image:[UIImage imageNamed:@"FOUND"] tag:1];
navController2.tabBarItem = customItem2;
UITabBarItem *customItem3 = [[UITabBarItem alloc] initWithTitle:@"快速发布" image:[UIImage imageNamed:@"PUBLISH"] tag:2];
navController3.tabBarItem = customItem3;
//将navigation添加到tabBar中
NSArray* controllers = [NSArray arrayWithObjects:navController1, navController2, navController3, nil];
self.wTabBarControler.viewControllers = controllers;
self.wTabBarControler.edgesForExtendedLayout = UIRectEdgeNone;
self.wTabBarControler.tabBar.tintColor = [UIColor colorWithRed:231.0/255 green:94.0/255 blue:25.0/255 alpha:1.0f];
[self.wTabBarControler.tabBar setBackgroundImage:[UIImage imageNamed:@"tabbar_normal_background.png"]];
[self.window addSubview:self.wTabBarControler.view];
self.window.rootViewController = self.wTabBarControler;
本来就是这样的,有navigationBar时和没有navigationBar时坐标起始点不同。