Вращение UISplitview в Tabbarcontrol - PullRequest
2 голосов
/ 05 апреля 2011

У меня есть элемент управления Tabbar (как корневой элемент управления). На первой вкладке у меня есть разделенное представление, которое я программно создал следующим образом: UISplitViewController *split = [[[UISplitViewController alloc] init] autorelease]; split.navigationItem.title = @"All";</p> <p>MasterSplitViewController *root = [[[MasterSplitViewController alloc] init] autorelease]; root.navigationItem.title = @"Areas"; root.detailViewController = detail;</p> <p>UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:root] autorelease];</p> <p>split.tabBarItem = controller.tabBarItem; split.viewControllers = [NSArray arrayWithObjects: nav, detail, nil]; split.delegate = detail;<br>

Все работает нормально, кроме ... Если я запускаю приложение в альбомном режиме, то раскладка немного ломается в главном представлении. Если приложение запускается в Portrait, то я поворачиваюсь в Landscape, тогда все нормально. Единственный сценарий, когда он ломается, это когда приложение запускается в альбомной ориентации.

Когда это происходит, я проверяю консоль и вижу это сообщение: Использование двухэтапной анимации вращения. Чтобы использовать более плавную одноэтапную анимацию, это приложение должно удалить реализации двухэтапного метода. НО я нигде не использую двухэтапное вращение !! Эти 2 функции отменены:

shouldAutorotateToInterfaceOrientation и willAnimateRotationToInterfaceOrientation

Пожалуйста, смотрите прикрепленный снимок экрана. http://img97.imageshack.us/i/screenshot20110405at308.png/

Пожалуйста, помогите мне. Любое предложение будет с благодарностью. Большое спасибо !!

1 Ответ

5 голосов
/ 05 апреля 2011

У меня была эта проблема. Добавьте этот код к AppDelegate.m.

self.tabBarController.selectedIndex = 0;
...