Sto implementando un blocco rotazione programmatico nella mia app simile a quello trovato nell'app Kindle di Amazon: quando il dispositivo viene ruotato, viene visualizzato un pulsante di blocco; premere il pulsante e l'orientamento è bloccato sull'orientamento in cui si trovava l'interfaccia quando il pulsante è stato premuto.Forza iOS ViewController per ruotare sull'orientamento del dispositivo dopo aver sbloccato il blocco di rotazione programmatico
Dopo lo sblocco, mi piacerebbe che l'interfaccia ruoti sull'orientamento corrente del dispositivo. Supponiamo che blocchi la rotazione in verticale, ruoti il dispositivo in orizzontale a sinistra e quindi sblocchi; Mi piacerebbe che l'interfaccia ruoti in orizzontale a sinistra. Ecco il metodo che attiva/disattiva il blocco:
- (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];
}
Un modo per farlo?
Grazie, attemptRotationToDeviceOrientation fa il trucco! – dysfunction