Я реализую программный замок вращения в своем приложении, подобный тому, который был найден в приложении Kindle от Amazon: когда устройство повернуто, отображается кнопка блокировки; нажмите кнопку, и ориентация будет заблокирована для ориентации, в которой находился интерфейс, когда была нажата кнопка.Force iOS ViewController для поворота на ориентацию устройства после разблокировки программной блокировки вращения
После разблокировки я хотел бы, чтобы интерфейс вращался в соответствии с текущей ориентацией устройства. Предположим, вы заблокировали поворот в портрете, поверните устройство влево, а затем откройте; Я бы хотел, чтобы интерфейс затем вращался влево. Вот метод, который переключает блокировку:
- (IBAction)toggleRotationLock:(UIButton *)sender {
BOOL rotationLocked = [_defaults boolForKey:@"RotationLocked"];
if (rotationLocked) { //unlock rotation
[_defaults setBool:NO forKey:@"RotationLocked"];
/* force rotation to current device orientation here?
* ...
*/
} else { //lock rotation to current orientation
[_defaults setBool:YES forKey:@"RotationLocked"];
[_defaults setInteger:self.interfaceOrientation forKey:@"RotationOrientation"];
}
[_defaults synchronize];
[self setupRotationLockButton];
}
Любой способ сделать это?
Спасибо, попробуйтеRotationToDeviceOrientation делает трюк! – dysfunction