내비게이션 컨트롤러를 사용하여 제목 표시 줄과 뒤로 가기 버튼 등을 표시하는 iPhone 응용 프로그램이 있습니다.iPhone의 UITabBar을 응용 프로그램 윈도우의 일부로; 장치를 회전시킬 때의 문제
응용 프로그램 창에 UITabBar
을 추가하여 응용 프로그램 창 사이를 전환 할 수 있습니다. 각 ViewController 뷰에 탭 표시 줄을 추가하는 대신 응용 프로그램 창에 막대를 추가했습니다.
(내가 ViewController에서 가지고있을 때, 컨트롤러 사이를 전환하면 애니메이션 팝/푸시가 발생했을 때 탭 표시 줄이 왼쪽/오른쪽으로 전체보기와 함께 스 와이프되었습니다.)
그래서 에 UITabBar
을 추가하고 앱 대리인의 변수에 연결했습니다.
[self.window addSubview:navigationController.view];
CGRect frame = navigationController.view.frame;
frame.size.height -= tabbar.frame.size.height;
navigationController.view.frame = frame;
tabbar.selectedItem = [tabbar.items objectAtIndex:0];
이 TabBar의 볼 수 있도록하기 위해, 주 (navigationController
년대) 뷰의 크기를 조정하는 내 didFinishLaunchingWithOptions
방법에서, 나는 다음과 같은 코드를 추가.
장치 회전시 문제가 발생합니다. 내보기가 전체 창으로 늘어나고 TabBar를 표시하는 기능이 느슨합니다.
나는 다음 코드를 사용하여 내의 ViewController에- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation) fromInterfaceOrientation
방법을 추가 :
- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
CGRect frame = self.view.frame;
frame.size.height -= [AppState shared].tabBar.frame.size.height;
//frame.origin.y = [AppState shared].tabBar.frame.size.height;
//frame.origin.x = 100;
self.view.frame = frame;
frame = [AppState shared].tabBar.frame;
frame.origin.y = [UIScreen mainScreen].bounds.size.height - frame.origin.y - frame.size.height;
[AppState shared].tabBar.frame = frame;
}
그것은 뷰의 크기를 조정하고, 탭 표시 줄을 이동 뷰의 위/아래 부분 (I는 세로/세로 허용하려면 거꾸로 된 방향). 문제는 내 TabBar가 거꾸로되어 있고 더 이상 클릭 할 수 없다는 것입니다.
누구나 이런 상황을 처리하는 방법을 알고 :
은 아래 이미지처럼 보인다? 또는 컨트롤러를 볼 수있는 탭 막대를 만들지 않고 인터페이스의 회전을 원활하게 처리 할 수있는 방법은 무엇입니까?