2015-05-12 8 views
7

Ich habe sechs Registerkarten und müssen sie alle ohne Schaltfläche Weitere anzeigen. jomafer Antwort sagt, dass setItemWidth das tut. Ich rief dies in AppDelegate an, aber es hat nicht funktioniert.UITabBarController tabBar setItemWidth funktioniert nicht

[[UITabBar appearance] setItemWidth:self.window.frame.size.width/6]; 

Ich rief dann die oben in TabBarControllerviewDidLoad aber es funktioniert immer noch nicht.
Auch

versucht
[self.tabBar setItemWidth:self.window.frame.size.width/6]; 

Aber es gibt nur wenige, wie this die sagen, dass ich will, was nicht möglich ist, UITabBar verwenden. Ist das wahr?

+0

Ja, das ist wahr, dass Sie nicht mehr als 5 Registerkarten in UITabBar hinzufügen können. Wenn es mehr als 5 Tabs gibt, fügt die Tab-Leiste automatisch "mehr" für zusätzliche Tabs hinzu. Von wo aus Sie auf die restlichen Registerkarten zugreifen können. –

Antwort

6

UITabBar unterstützt nicht mehr als 5 Elemente ohne die Schaltfläche "Mehr".

Benötigen Sie wirklich 6 Tasten am unteren Bildschirmrand? Sie werden kleine Ziele sein. Überdenken Sie Ihren Workflow, wenn Sie über 6 Schaltflächen verfügen, auf die Sie ständig zugreifen müssen.

Wenn Sie unbedingt 6, nur Unterklasse UITabBar brauchen - Ich bin mir ziemlich sicher, Sie müssen nur LayoutSubviews überschreiben und eine 5 zu 6 irgendwo ändern.

Es gibt auch ein bestehendes UITabBar Ersatz Projekt Infinite Tab Bar genannt, die Ihre Bedürfnisse passen könnten, wenn man nicht unbedingt alle 6 Tasten all mal sichtbar benötigen.

+0

Welche Eigenschaft in layoutSubviews wird die Anzahl der Registerkarten festlegen? – Nitish

Verwandte Themen