Ich erstelle eine benutzerdefinierte Tastatur, und ich möchte nicht für Landscape-Modus unterstützen. Wenn also ein Benutzer das Gerät in den Querformatmodus dreht, muss sich die Tastatur immer noch im Hochformatmodus befinden. Ich habe die folgenden Methoden versucht:Deaktivieren der Drehung der benutzerdefinierten Tastatur in IOS
-(BOOL)shouldAutorotate {
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
und
-(void)viewDidLoad{
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPotrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
Aber keine der Methoden funktioniert. Die einzige Methode, die beim Drehen des Geräts ausgelöst wird, ist dies:
-(void)viewWillTransitionToSize:(CGSize)size
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
Hier bekomme ich die aktuelle Ansicht Größe nach der Drehung. Aber wie halte ich die Rotation an? Jede Hilfe wird geschätzt.
Ist das, was Sie suchen: http://stackoverflow.com/questions/6941849/disable-orientation-for-keyboard-in-iphone – Ariel
@Ariel: Das habe ich schon probiert. Funktioniert nicht. – Poles
Ich mache auch eine benutzerdefinierte Tastatur und verwende automatische Layouts, um den Hoch- und Querformat-Modus beizubehalten. Ich habe den gleichen Fall wie deiner. Verwenden Sie Auto-Layouts oder deaktivieren Sie das automatische Layout für jetzt? – Ariel