경계 대 프레임에서 일부 게시물을 체크 아웃했지만 여전히 약간 혼란 스럽습니다.UITabBarController, UINavigationController 및 자식 UIViewController의 경계가 다릅니다
나는 다음과 같은 계층 구조를 가지고 : UITabBarController가>은 UINavigationController> UIViewController에 나는 다음과 같은 NSLog
NSLog(@"%f %f %f",[[[self tabBarController] view] bounds].size.height, [[[self navigationController] view] bounds].size.height, [[self view] bounds].size.height);
나는 다음과 같은 출력 얻을 시도
:
480.000000 431.000000 460.000000
내가 20 차이를 이해를 상태 표시 줄 높이에 대한 계정,하지만 UIViewController 바인딩 상태 표시 줄 높이를 제외하는 이유를 이해하지 않지만 은 UINavigationController 및 UITabBarController가이
상단 tabBarController가 480.0의 높이를 (왜 20pt의 상태 표시 줄의 높이를 배제하지 않는다 ???)가 않습니다 왜 내 질문에
1) 정제 ... 등이 있습니다. 좋아, 높이가 항상 상태 표시 줄 높이를 제외하지 않고 지금 이동한다고 가정합시다.
2) UINavigationController의 높이는 431.0입니다 (좋아, 합리적인 추측은 480-49이고 49는 탭 바의 높이). 하지만 탭 바 높이를 제외하고 상태 표시 줄의 높이를 제외하는 이유는 무엇입니까 ??? 애플의 View Programming Guide는 그걸 설명하지는 않지만 ... 계속 진행해 보겠습니다.
3) 왜 UIViewController의 높이가 460입니까?
(3a) 왜 UITabBarController 및 UINavigationController와 달리 상태 표시 줄의 20pt 높이를 제외합니까?
(3B) 더 중요한 이유는 네비게이션 바의 높이를 배제하지 않는다 (즉, 왜해야하지가 될 431-44 = 387?!)
(3C) 왜 내의 UIViewController을 수행하는 인사이드 내 UINavigationController는 길이가 더 깁니다. UINavigationController보다 높이가입니까?
UIViewController에 대한 Apple 가이드 읽기 - 이 견해들 어울리다. –
@DavidH - 무식하게해서 죄송합니다. UIViewController 클래스 및 View Controller Programming Guide에서 Apple의 설명서를 iOS 용으로 확인했지만 거의 경계를 언급하지 않았습니다. – minovsky
'View Programming Guide'. –