2012-07-28 5 views
9

Unser Unternehmen entwickelt eine ziemlich große App für das iPad. Schließlich möchten wir in der Lage sein, die Benutzeroberfläche pro Kunde (Mandant) und vielleicht sogar pro Benutzer (des Kunden) anzupassen. Wir haben mit HTML5 begonnen, gehen aber zu nativ.Dynamic Storyboard oder Xibs/Nibs

Ich habe einige Lesung getan auf XML vom Server herunterzuladen (oder sogar XIB/NIB-Dateien erzeugt werden) und dynamisch das Hinzufügen dieser zu Ihrer App.

Jetzt mit iOS 5 (und noch weiter in 6) Storyboards eine große Rolle spielen.

Meine Fragen:
- Wäre es besser, (mehrere?) Storyboards oder XIBs zu verwenden?
- Was sind meine Optionen für beide, wenn ich eine dynamische Benutzeroberfläche liefern möchte?

Ich bin nicht auf der Suche für eine magische Pille, noch eine Diskussion über HTML5 vs nativen, um nur einige Informationen darüber, wie ich eine dynamische Schnittstelle liefern könnte und Techniken, was dabei helfen könnte.

+1

Nicht einmal mit IB.Irgendwann in der Programmierung kommt der unangenehme Moment, wenn Sie aufhören müssen, schlaue und schlaue Ansichten zu ziehen, und sich ** setzen und Code schreiben müssen **. –

+0

Kann nicht wirklich darüber reden, aber überprüfen Sie diesen Link: https://developer.apple.com/library/prerelease/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/Reference/Reference.html#//Apple_ref/occ/cl/NSAttributedString –

Antwort

8

meine Antwort auf Ihre beiden Fragen:

  1. Storyboard für Szene-Management ist sehr gut; Es erstellt eine visuelle Verbindung zwischen Ihre verschiedenen Szenen/Ansichten. Ich bevorzuge das Storyboard für so viele meiner Benutzeroberflächen wie möglich. jedoch gibt es Elemente, die ich in einigen Anwendungen habe, die vorhandene oder wiederverwendbare oder andere dynamische XIBs aufnehmen. Ich füge diese einfach mit meinen Storyboards zusammen, indem ich die XIBs im Code an der Stelle lade, an der ich sie haben möchte. so, meine ultimative Antwort für Ihre erste Frage ist „beide“, wo Storyboards verwendet werden, wo möglich, und XIBs für dynamische Szenen/Ansichten verwendet.

  2. Ihre Optionen für dynamische Benutzeroberfläche umfassen mindestens die folgenden zwei Optionen (von denen, wie oben erwähnt, ich die zweite bevorzugen):

    1. den gesamten Code erstellen mit XIB-Dateien und führen alle UI-Übergänge ohne Storyboards in Code
    2. so viel Benutzeroberfläche erstellen, wie Sie in Bezug auf die Beziehungen zwischen mit Viewcontrollers Storyboard relativ statisch weiß bleiben wird, und dann die dynamischen Teile des UI laden initWithNibName mit: Bundle:

schließlich können Sie mehrere Storyboards, wenn es die Situation erfordert verwenden, und dies könnte auch auf dynamische Benutzeroberfläche anwenden, sei es aus wiederverwendbaren Komponenten kommt erstellt an anderer Stelle im Storyboard und separat oder Storyboard-XML (wenn Sie beibehalten Schau dir die Storyboard-Quelle an, es ist nur XML unter der Haube), egal ob von etwas generiert oder wo auch immer. Sie können sogar entscheiden, Ihre Benutzeroberfläche mit mehreren Storyboards in der Entwurfsphase zu verwalten, wenn Ihre App mehrere komplizierte miteinander verbundene View-Controller-Szenen hat (z. B. kann jede Registerkarte in einem UITabBarController ein eigenes Storyboard haben, in dem die Szene rootController verbunden/geladen wird ein Tab wird ausgewählt).

1

StoryBoard den ganzen Weg! Ich mag Storyboards absolut nicht, aber dann habe ich mich an sie gewöhnt und jetzt liebe ich sie. Storyboards sind der richtige Weg.