2014-11-14 5 views
5

ich ein universelles Projekt für iOS, die in Xcode erstellt wurde 5, die ich versuche, in den Hafen xCode 6. Alles in Ordnung gewesen zu sein scheint, da ich nicht LaunchScreen bin mit und iPhone 6 und 6 Plus skalieren die Anwendung auf ihre Auflösung.iOS 8 Orientation Probleme: Tastatur endet in eine falsche Position nach oben

Das Problem tritt auf, wenn das Gerät seine Ausrichtung ändert.

Szenario:

Es nur auf iPhone 6 und 6 Plus auftritt.

Öffnen Anmeldebildschirm mit Benutzername und Passwort Felder aus. Drehen Sie das Gerät auf Querformat und tippen Sie auf Benutzername oder Passwort. Die Tastatur erscheint in der Mitte des Bildschirms mit halbem Schnitt. Wenn Sie zurück zum Hochformat drehen, wird die Tastatur vollständig ausgeblendet und erscheint nicht mehr auf dem Bildschirm, unabhängig davon, auf welches Feld Sie tippen.

Um die Tastatur zurück zu bekommen, drehen Sie zurück zu Querformat, tippen Sie auf ein Feld, drehen Sie das Gerät auf die gegenüberliegende Querformat (lassen Sie es nicht im Hochformat gehen). Die Tastatur wird plötzlich normal und funktioniert gut.

Problematic Keyboard

+0

Ist das Problem gelöst? Wenn ja, wie haben Sie es gelöst? – IamAnil

+0

Die Lösung ist das, was ich in meiner Antwort gesagt habe: verwende keinen skalierten Modus für iPhones mit einer Bildschirmgröße> 4 " – Gui13

Antwort

5

bekam ich das gleiche Problem, und das ist, weil Ihre Anwendung in skalierten Modus gestartet wird.
Es scheint, dass Apple nicht den vollen geblasenen Weg ging Landschaft in diesem skalierten Modus zu handhaben.

Die Lösung ist nicht skalierte Modus für das iPhone 6-6Plus zu wechseln, mit dem Trick hier angegeben: How to enable native resolution for apps on iPhone 6 and 6 Plus?

Beachten Sie, dass dies wahrscheinlich eine Menge Ihrer Bildschirm in dem Prozess brechen .. aber es gibt keine andere Lösung.

0

Ich habe dieses Problem mit skalierbaren Modus des App konfrontiert. Obwohl die Unterstützung des Nicht-Scalble-Modus (durch Hinzufügen von iPhone 6 & 6+ Startbildern zu xcassets) dieses Problem löst, war es in meinem Fall nicht zulässig, da Bildschirme für jede Ausrichtung ein statisches Layout hatten. Ich könnte dieses Problem lösen, indem ich die Vorfälle der Änderung des Root-View-Controllers des Fensters vermeide. Stattdessen wurden die neuen View-Controller als Subview (und damit auch als childViewController) zum bestehenden Root-View-Controller hinzugefügt (mit Balancing-Entfernung).

0

Alles ist in Ordnung auf iOS6/7, aber nicht iOS8.

Die Orientierung der Tastatur auf IOS 8 ist nicht die gleiche wie Statusleiste.

0

Wenn Ihre Anwendung nur Portrait-Modus läuft man Orientierung Benachrichtigungen zu erzeugen stoppen kann;

[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]; 
+0

Ich habe versucht, die Tastatur vom Drehen in meiner Portrait-App abzuhalten, sorry, das hat bei mir nicht funktioniert: ( –

0

Ich habe dieses Problem konfrontiert, und nach ein paar Recherchen fand ich einige Sachen, die solche Fehler verursacht haben. In meinem AppDelegate änderte ich Fenster RootViewController verschiedenen Viewcontrollers Status ist abhängig von Genehmigung

if (!auth) 
{ 
    self.window.rootViewController = [[AuthViewController alloc] init]; 
} else { 
    self.window.rootViewController = [[DataViewController alloc] init]; 
} 

ich diese entfernt zu zeigen und Controller-Auswahllogik zu NavigationViewController

if (!auth) 
{ 
    self.viewControllers = @[[[AuthViewController alloc] init]]; 
} else { 
    self.viewControllers = @[[[DataViewController alloc] init]]; 
} 

und machen diese NavigationViewController als Storyboard Anfangs View-Controller bewegen.

Hoffe es hilft!