Amazon の Kindle アプリに見られるのと同様のプログラムによる回転ロックをアプリに実装しています。デバイスが回転すると、ロック ボタンが表示されます。ボタンを押すと、向きは、ボタンが押されたときのインターフェイスの向きにロックされます。
ロックを解除した後、インターフェイスを現在のデバイスの向きに回転させたいと思います。縦向きで回転をロックし、デバイスを横向き左に回転させてからロックを解除するとします。インターフェイスを横向き左に回転させたいと思います。ロックを切り替える方法は次のとおりです。
- (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];
}
これを行う方法はありますか?