Несбалансированные вызовы для начала / конца появления переходов - PullRequest
2 голосов
/ 03 января 2012

В настоящее время я решаю эту проблему: / Я уже пробовал решения из других SO-тем по этой теме, но пока не повезло.

Вот что не так: У меня есть UINavigationController, который выдвигает View A, из View A я могу нажать кнопку, чтобы нажать View B - работает отлично. Но когда я нажимаю Вид B, затем поворачиваю экран в ландшафтный режим и затем нажимаю кнопку «Назад», я получаю следующий вывод в консоли, и переключение вида не анимируется, просто переключается с B обратно на A:

2012-01-02 20:50:42.866 [13345:f803] Unbalanced calls to begin/end appearance transitions for <DimensionConversionViewController: 0x68831f0>.
2012-01-02 20:50:42.868 [13345:f803] attempt to dismiss modal view controller whose view does not currently appear. self = <UINavigationController: 0x6b541a0> modalViewController = <UISnapshotModalViewController: 0x6da5190>

Вот как я помещаю View B в стек:

- (void) showConverter:(id)sender {
    [self.navigationController pushViewController:converter animated:YES];
}

-ViewDidLoad of View B:

- (void) viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view from its nib.
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateInterface) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
        // ... Update text fields ...
        [self updateInterface];
 }

-viewDidUnload из представления B:

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"UIDeviceOrientationDidChangeNotification" object:nil];
}

Если у вас есть вопросы или вам нужно больше примеров кода, сообщите мне.

Заранее спасибо за любую помощь: -)

1 Ответ

11 голосов
/ 03 января 2012

Оказалось, что в моем случае основной причиной проблемы было то, что я забыл обновить все методы shouldAutorotateToInterfaceOrientation: в разных контроллерах представления, чтобы вернуть YES для всех UIInterfaceOrientations (или, скажем, все они должны вернутьСэм).Это решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...