Update von UITabBar auf iOS7

Beim Updaten meiner App Wusstest Du… ist mir aufgefallen, dass die Art und Weise, wie ich meine TabBar für diese App erzeugt habe, mit der aktuellen iOS Version 7 nicht mehr möglich ist. Wer in alten Xcode Projekten eine UITabBar zur Navigation verwendet hat, muss bei einer Umstellung auf iOS7 beachten, dass es jetzt nicht mehr möglich ist, direkt auf die UITabBar mittels Code zuzugreifen.

Während man bisher bei der dynamischen Codierung einer UITabBar einzelne Tabs hinzugefügt hat und man diese Tabs dann einer View zugewiesen hat, muss man jetzt für jeden Tab einen neuen UIViewController hinzufügen. Das bedeutet, dass man bei einer Umstellung einige Änderungen vornehmen muss. Wo man früher noch die gesamte Darstellung und Anordnung selbst kontrollieren konnte, wird einem diese jetzt vorgegeben. Wenn man den Interface Builder benutzt, muss man die View, in der man eine TabBar angezeigt hat, durch einen UITabBarController ersetzen. Man kann diesem Controller jetzt entweder im Interface Builder so viele UIViewController hinzufügen wie man möchte, oder diese dynamisch codieren. Allerdings sollte man darauf achten, dass bei der Initialisierung des UITabBarControllers alle zugewiesenen UIViewController gleichzeitig in den Speicher geladen werden.

Da die Darstellung durch das iOS vorgegeben wird, bedeutet das für die Standarddarstellung bei einem iPhone, dass es in der UITabBar maximal fünf Tabs geben kann. Bei einem iPad hingegen, sind es acht Tabs. Möchte man mehr UIViewController hinzufügen, dann wird der fünfte (beim iPad, achte) Tab automatisch ersetzt und an dieser Stelle erscheint ein „Mehr…” Button. Bei einem Klick auf den „Mehr…” Button öffnet sich automatisch ein UITableViewController, in dem die restlichen Tabs aufgelistet sind. Dieser „Mehr…“ Button hat einen eigenen Viewcontroller, den MoreViewController. Auf dieser Seite wird sehr gut beschrieben, wie man den MoreViewController an das Design seiner App anpassen kann.

Unterschied Wusstest Du... alte und neue Version

Unterschiede einer UITabBar zwischen den verschiedenen iOS Versionen an Hand der iOS App “Wusstest Du…”

Bei der Umstellung muss man zwar einige Zeit investieren, damit man die alte App wieder zum Laufen bringt, aber das Ganze bringt auch Vorteile für den Entwickler. Ist das Design einmal angepasst, muss man sich, wenn man mehr als fünf (beim iPad, acht) Tabs in einer UITabBar hat, nicht mehr um die Logik dahinter kümmern. Der Benutzer findet eine für ihn vertraute Navigation vor, und sogar die Anordnung der Tabs kann ohne Hinzufügen von zusätzlichem Code verändert werden. Der eigene Code wird dadurch schlanker und übersichtlicher.

Leave a Reply

Your email address will not be published. Required fields are marked *