• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Orientation und NavigationController

MoFuRo

Jamba
Registriert
10.06.10
Beiträge
55
Hallo zusammen,

ich habe folgendes Problem: In meiner App gibt es einen NavigationController der eine View lädt und diese View hat nur Portrait als Orientation. Das setze ich so:

Code:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return interfaceOrientation == UIInterfaceOrientationPortrait;
}

Nun pushe ich eine zweite View. Diese hat nur LandscapeLeft und LandscapeRight als orientation. Das funktioniert alles noch super. Wird diese view allerdings mit pop entfernt erscheint die darunter liegende View gedreht, obwohl ich ja gesagt habe das sie nur Portrait sein darf.

Warum ändert das Landscape die Orientation für alles navigationcontoller views?

Thx ;-)
 
Code:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return interfaceOrientation == UIInterfaceOrientationPortrait;
}

kommentier das doch aus dem Quelltext aus, da es sowieso Standard ist.
 
OK, aber das hilft noch nicht das Problem zu lösen, oder?
 
Könntest du einen Screenshot posten? Wenn das so aussieht wie bei mir, dann kann ich dir die Lösung schreiben, ist aber etwas mehr Text, deswegen will ich erst mal sicher gehen :D
 
Von was genau soll ich dir einen screenshot posten? Die erste View ist eben zu Beginn im Portrait Modus und die zweite erscheint dann im Landscape Modus. Wenn ich wieder mit pop die zweite View entferne, dann ist die View davor im Landscape Mode, obwohl die den garnicht annehmen dürfte. Falls du noch was brauchst, sag bescheid ;-)
 
Mach doch einfach zwei Screenshots, einen vor dem Drehen und einem danach, sollte nicht so schwer sein :)
 
Dreh doch in viewWillAppear:(BOOL)animated des untenliegenden Controllers einfach die View in die richtige Orientierung. Die richtige Orientierung bekommt man eigentlich immer von [[UIApplication sharedApplication]statusbarOrientation].
 
Hier habe ich mal zwei Screenshots.

@Sebastato: Eigentlich ist die Orientierung ja falsch. Die Statusbar wird ja auch mit gedreht. Deshalb bringt es ja nichts wenn ich die Orientation abfrage. Sobald ich das Gerät wieder in den Portrait Modus drehe stimmt wieder alles. Ich kann dann auch das Gerät wieder drehen ohne das sich die View mit dreht. Ich finde das das ein sehr komisches Verhalten ist. Vor allem weil ich die Orientation ja nur für die Video Vie ändere und nicht für die anderen.
 

Anhänge

  • Bildschirmfoto 2010-09-28 um 10.41.40.png
    Bildschirmfoto 2010-09-28 um 10.41.40.png
    81,8 KB · Aufrufe: 93
  • Bildschirmfoto 2010-09-28 um 10.41.24.png
    Bildschirmfoto 2010-09-28 um 10.41.24.png
    77,3 KB · Aufrufe: 93