UIViewcontroller iPad Autosizing Problem...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • UIViewcontroller iPad Autosizing Problem...

    Hallo,
    ich habe ein ganz seltsames Problem, das ich bisher leider auch beim Debugging nicht lösen konnte...

    Zur Vorgeschichte: Ich habe eine iPhone-App zu einer Universal App konvertiert, was insgesamt auch recht gut geklappt hat, da ich von Anfang an die Auflösung nicht fest kodiert hatte.

    Das komische ist, dass die Startseite meiner App direkt beim Aufruf nicht korrekt skaliert wird, obwohl dies für den UIView und alle beinhalteten Sub-Views (Buttons, Labels) korrekt im Interface Builder angegeben ist. Konkret wird der View in "iPhone-Größe" links oben in der Ecke angezeigt. Andere Elemente, die ich (nicht über die XIB-Datei) manuell dem View hinzugefügt habe, sind korrekt auf dem kompletten Display verteilt...

    Man könnte jetzt denken, es wäre ein generelles Problem, aber das wirklich seltsame ist, dass die Skalierung wunderbar funktioniert, sobald ich entweder einen anderen (modalen) View im FullScreen angezeigt habe (da funktioniert die Skalierung übrigens direkt) oder sogar wenn ich das iPad gedreht habe (d.h. Portrait => Landscape). Nach einer dieser Aktionen wird er ursprüngliche View wie erwartet und geplant skaliert...

    Hat jemand eine Idee, wo das Problem liegen könnte, oder wie ich der Sache auf den Grund gehen kann?

    Bin für jeden Tiipp dankbar!

    Gruß,
    martiko
  • macmoonshine schrieb:

    Wie bringst Du denn den Viewcontroller zur (ersten) Anzeige und hast Du im Interface Builder das Flag Resize View from NIB gesetzt?

    BTW: Das iOS skaliert den View nicht, sondern passt nur dessen Größe an. ;)
    Also hier mein Code zur Anzeige:

    Quellcode

    1. [window makeKeyAndVisible];
    2. [UIApplication sharedApplication].statusBarHidden = YES;
    3. mainMenuView = [[MainMenu alloc] initWithNibName:@"MainMenu" bundle:nil];
    4. [window addSubview:[mainMenuView view]];


    Ich habe im IB alle Flags bzgl. Resize gesetzt, die ich gefunden habe (später funktioniert es ja wie gesagt auch...). Also z.B. "Mode = Aspect Fit", und beim Autosizing alles ausgewählt, Autoresize Subviews an...
    Das Flag Resize View from NIB habe ich allerdings nicht gefunden, oder meinst Du das was ich schon geschrieben hatte?

    Wie gesagt, wenn es überhaupt nicht funktionieren würde, wäre es klar, dass es ein Fehler in den Einstellungen etc ist... aber dass es nach einem Wechsel der Orientierung oder sogar nach der Anzeige eines anderen Modal-Views auf einmal geht, ohne dass ich an im Code an der Ausrichtung o.Ä. etwas ändere, das wundert mich so.

    Danke auf jeden Fall schon mal für Deine Rückmeldung!
  • AR.DDev schrieb:

    Probiere mal setRootViewController: und das makeKeyAndVisible an das Ende der Methode.

    Genial, danke! Darauf wäre ich NIE gekommen... das set RootViewController: statt addSubview: hat es gebracht... (das makeKeyAndVisible hab ich zur Sicherheit auch ans Ende gepackt, das alleine hatte aber keinen Effekt).

    Klasse, vielen Dank nochmal! :thumbup: :thumbsup: :thumbup: