Попадание в UINavigationController внутри UISplitViewController вызывает странный переход - PullRequest
5 голосов
/ 01 апреля 2012

Я использую UINavigationController в главном представлении UISplitViewController. Внутри моего UINavigationController у меня, как обычно, UITableViewController. Выбор ячейки в этом табличном представлении помещает новый UINavigationItem в стек. Этот переход происходит, как я ожидаю. Однако, когда я нажал, когда я нажал кнопку «Назад», переход обратно наверх UINavigationItem не скользит как обычно слева направо. Вместо этого экран становится черным, мастер-вид, удерживающий UINavigationController / UITableViewController, скользит вниз по центру экрана сверху, а затем UINavigationController появляется на левой стороне, где я ожидаю этого. Я нашел похожие вопросы, но все принятые ответы вращаются вокруг неправильной обработки вращения. Я дважды проверил, что все мои контроллеры представления возвращают YES для всех ориентаций.

Ответы [ 2 ]

1 голос
/ 29 января 2013

Реализация следующих, на мой взгляд, контроллеров решила это для меня

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}

Надеюсь, это работает и для вас

0 голосов
/ 14 марта 2013

Вы должны проверить свою реализацию метода - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation в контроллере представления, который вы вставили в UINavigationController.

   - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
    {
     // should return YES for all orientations
     // or at least for orientation that your UINavigationController supports.
    }

Для меня эта проблема появляется только на iOS 5, но если вы испытываете это также на iOS 6, вы можете реализовать -(NSUInteger)supportedInterfaceOrientations аналогичным образом.

Надеюсь, это поможет вам.

...