Universal App - Einen VC, zwei XIB

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

  • Universal App - Einen VC, zwei XIB

    Hallo Community,

    ich versuche mich seit kurzem an einer Universal App und hätte dazu einige Grundsatzfragen.
    Auf Apple habe ich nur das einleitende Tutorial gefunden.
    Nun meine Fragen:
    - Das von Xcode erstellte Projekt hat keine Weiche durch (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad), sondern läd die erforderliche XIB durch die Einstellungen in der plist. Stimmt das?
    - Ich nutze nun, soweit es möglich ist die gleichen ViewController mit unterschiedlichen XIB-Dateien, allerdings heißen die beiden XIBs gleich. Holt sich das System dann in abhängigkeit des Gerätes die richtige XIB? (XIB1 liegt in der Gruppe iPhone / XIB2 liegt in der Gruppe iPad)
    - Warum klappt das Konzept mit den XIBs nur ab und an? Zum Teil läd er mir beim iPad-Simulator iPhone XIBs und umgekehrt. Muss ich irgendwo in der XIB einstellen für welches Gerät diese ist?

    Ich hoffe die Fragen sind verständlich.

    Vielen Dank für Eure Mühen.
    Viele Grüße,
    C3000
  • Das Laden der richtigen XIB ohne Unterscheidung im Code (UIUserInterfaceIdiom) geht nur mit dem haupt-XIB, dessen Name du in der Info.plist angeben kannst, getrennt für iPhone und iPad. Normalerweise aber haben diese verschiedene Namen (z.B. MainWindow.xib und MainWindow-iPad.xib).

    Ich mach es normalerweise (nicht bei MainWindow.xib) so, dass ich (wenn überhaupt nötig) 2 XIBs habe, das fürs iPad erhält noch das "-iPad" an den Namen dran, und im Code lade ich dann entsprechend dem UIUserInterfaceIdiom das richtige XIB.

    Für nicht-universal Apps kannst du einfach denselben Namen verwenden und durch die Target-Zuweisung entscheiden, welches XIB benutzt wird. Aber das scheint hier ja nicht das Problem zu sein. :)
    Widgetschmie.de • Life is too short for gadgets