Ich habe gerade die Dokumentation durchsucht und keine Methode zur Anpassung der Breite des UITabBarItems gefunden.
Eine mögliche Lösung wäre, eine Ansicht innerhalb des Tab-Bar-Controllers zu platzieren, um ein benutzerdefiniertes UITabBarItem zu laden, das die richtige Breite hat.
Lösung für iOS7 und höhere Versionen:
Eine neue Eigenschaft wurde für UITabBar eingeführt: itemWidth .
%Vor%Setzen Sie itemWidth auf einen positiven Wert, der als Breite für die Registerkarte verwendet wird Balkenelemente, wenn sie als eine zentrierte Gruppe positioniert sind (im Gegensatz zu Füllen der Tab-Leiste). Standard von 0 oder Werte kleiner als 0 wird sein interpretiert als systemdefinierte Breite.
So können Sie dies in Ihrem AppDelegate tun:
%Vor%Wenn Sie die gesamte UITabBar füllen wollen:
%Vor%
Sie können den Abstand (und die Breite) der Registerkartenelemente ändern, indem Sie UITabBar ableiten und die Methode layoutSubviews überschreiben. Sie finden alle Tab-Bar-Schaltflächen im Array selfsViews. Ihre Klasse ist der nicht-öffentliche UITabBarButton, aber sie erben von UIControl, so dass Sie alle Tab-Leiste-Schaltflächen identifizieren können, die überprüfen, ob sie eine UIControl-Klasse sind. Dann müssen Sie nur den Rahmen der Tab-Leiste-Schaltflächen ändern.
Tags und Links objective-c xcode width uitabbaritem