나는 다양한 UIViewController를 관리하는 UINavigationController를 관리하는 UITabBarController가있는 응용 프로그램을 가지고 있습니다.UITabBarController 뷰를 미리 렌더링 하시겠습니까?
3G 휴대 전화의 경우 TabBar 버튼을 통해 특정보기를 처음 볼 때 느려지지만 이후에는보기 흉합니다. 3GS 폰에서는 눈에 띄지 않습니다. 제 질문은 이러한 견해를 어떻게 미리 렌더링 할 수 있습니까? 시작시에 다른 스레드에서 loadView 함수를 호출하여 loadView 함수를 트리거하려고 시도했지만이 경우에는 아무 것도하지 않습니다.
명확성을 위해 다음 내용은 내 코드에서 간략히 요약 한 것입니다. 5 개의 뷰 컨트롤러가 있지만 2 개의 코드 만 표시합니다. poiVC는 표준 UITableViewController 하위 클래스에 불과합니다. 심지어 사용자 정의 init 또는 loadView 함수도 없습니다.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
self.mapVC = [[MapViewController alloc] init];
NavControlBar * mapNavBar = [[[NavControlBar alloc] initWithViewController:mapVC
withControlBar:[mapVC initBar]]autorelease];
self.poiVC = [[POIViewController alloc] init];
NavControlBar * poiNavBar = [[[NavControlBar alloc] initWithViewController:poiVC
withControlBar:[poiVC initBar]]autorelease];
NSArray *tabViewControllerArray = [NSArray arrayWithObjects:mapNavBar, poiNavBar, nil];
self.tbc.viewControllers = tabViewControllerArray;
self.tbc.delegate = self;
[mapVC release];
[poiVC release];
[window addSubview:tbc.view];
} 사용자가 첫 화면을보고있는 동안
은 내가 poiVC 렌더링을받을 수 있으므로 전환이 빠른 것?
왜 당신은 명시 적으로 작성하는 탐색 모음을 ? 왜 네비게이션 바를 관리하기 위해 뷰 컨트롤러에서 navigationItem을 사용하지 않는 것이 좋을까요? 그것은 문제의 일부일 수 있습니다. (그리고 NavControlBar는 무엇입니까?) – Nimrod
NavControlBars는 사용자 정의보기에서 UIBarButtonItems를 사용하는 방법을 이해하기 전에 UINavigationBar에 임의의 요소를 추가하기 위해 만든 바보 같은 클래스입니다. 다음은 클래스의 github 저장소입니다. http://github.com/andrewljohnson/NavControlBar. 그게 문제라고 생각하지 않습니다 ... 일반 navigationController를 사용하더라도 화면에 처음 표시 될 때까지 뷰가 렌더링되지 않으며 첫 번째로드에서 약간의 지연이 계속 표시됩니다. –