내 AppDelegate 클래스에서 [[UIScreen mainScreen] bounds]만큼 창 프레임을 설정하여 TabBar VC를 만듭니다. 상태 표시 줄이 표시되어 있기 때문에 높이는 460이어야하지만 480 인 것으로 보입니다. 수동으로 높이를 460으로 설정하면 탭의 하단 부분에 터치 인식이 잘립니다. 다음은이 applicationFrame 높이가 460 인 경우 창 480의 높이가 어째서입니까?
2013-02-12 23:04:21.867 SingleTest[24221:c07] appFrame 20.000000
2013-02-12 23:04:21.868 SingleTest[24221:c07] appFrame 460.000000
2013-02-12 23:04:21.869 SingleTest[24221:c07] window.frame 0.000000
2013-02-12 23:04:21.870 SingleTest[24221:c07] window.frame 480.000000
2013-02-12 23:04:21.870 SingleTest[24221:c07] window.bounds 0.000000
2013-02-12 23:04:21.871 SingleTest[24221:c07] window.bounds 480.000000
누군가가 설명 할 수
로그 출력이 차이 뒤에 이유를 제공- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIColor *brownNavBarColor = [[UIColor alloc] initWithRed:0.78f green:0.56f blue:0.06f alpha:1.0f];
[application setStatusBarHidden:NO];
CGRect windowRect = [[UIScreen mainScreen] bounds];
self.window = [[UIWindow alloc] initWithFrame:windowRect];
CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
NSLog(@" appFrame %f", appFrame.origin.y);
NSLog(@" appFrame %f", appFrame.size.height);
NSLog(@" window.frame %f", self.window.frame.origin.y);
NSLog(@" window.frame %f", self.window.frame.size.height);
NSLog(@" window.bounds %f", self.window.bounds.origin.y);
NSLog(@" window.bounds %f", self.window.bounds.size.height);
[self.window makeKeyAndVisible];
self.ingredientTabVC2 = [[NewIngredientViewController alloc] initWithNibName:nil bundle:NULL];
self.ingredientNC2 = [[UINavigationController alloc] initWithRootViewController:self.ingredientTabVC2];
[self.ingredientNC2.navigationBar setTintColor:brownNavBarColor];
self.ingredientTabVC3 = [[IngredientTabViewController alloc] initWithNibName:nil bundle:NULL];
self.ingredientNC3 = [[UINavigationController alloc] initWithRootViewController:self.ingredientTabVC3];
[self.ingredientNC3.navigationBar setTintColor:brownNavBarColor];
self.tabBarController = [[UITabBarController alloc] initWithNibName:nil bundle:NULL];
self.tabBarController.viewControllers = [[NSArray alloc] initWithObjects: self.ingredientNC2, self.ingredientNC3, nil];
[self.window setRootViewController:self.tabBarController];
return YES;
}
코드는? UIScreen
에 대한 문서에서
은 20 – NANNAV