отключить анимацию содержимого UIViewController при ротации iPhone - PullRequest
0 голосов
/ 27 июня 2009

Мне нужно реализовать поведение моего подкласса UIViewController, как в стандартном iPod.app: при повороте устройства из портретного в альбомное положение содержимое UIViewController остается неподвижным, а над ним добавляются новые представления.

Проблема в том, что при установке

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
}

содержимое вращается

но когда установлено

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return NO;
}

функция

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    NSLog(@"did rotate form interface orientation %d",fromInterfaceOrientation);
}

новее называется

Итак, вы знаете, как обрабатывать поворот устройства внутри UIViewController, не поворачивая его содержимое?

1 Ответ

3 голосов
/ 28 июня 2009

На самом деле вы НЕ хотите, чтобы ваш viewController реагировал на поворот ориентации интерфейса.

Вместо этого проще просто наблюдать уведомления UIAccelerometer. Затем выполните полный обмен представлениями.

Вы можете увидеть код для этого здесь на SO:

Вращение iPhone и создание нового UIViewController?

и

UIDevice Orientation

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