Я пытаюсь запустить некоторый код в приложении для iPhone, когда устройство поворачивается влево или вправо.Ясно, что я могу сделать это, используя shouldAutorotateToInterfaceOrientation
, однако я НЕ хочу вращать элементы управления / подпредставления в представлении.Я могу остановить вращение подпредставлений, вернув NO
к вышеуказанному методу:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
NSLog(@"Should rotate\n");
return YES;
}
Когда я делаю это и поворачиваю устройство влево или вправо, событие запускается, как и ожидалось.Моя проблема в том, что когда я поворачиваюсь назад от пейзажа к портрету, событие не запускается.Это должно быть потому, что вращение было остановлено возвратом NO
до его поворота на lanscape;поэтому ориентация все еще считается портретной.Однако, если я верну YES
, подпредставления будут вращаться.
Кто-нибудь имел дело с этой проблемой? Кто-нибудь знает способ либо: (1) вернуть YES
с shouldAutorotateToInterfaceOrientation
, сохраняя управление статическим, либо (2) зафиксировать вращение устройства независимо от shouldAutorotateToInterfaceOrientation
?
Большое спасибо, Бретт