2012-11-29 13 views

Odpowiedz

40

Dlaczego po prostu nie masz pustej właściwości tytułu dla kontrolera widoku i nie dodasz tytułu do niestandardowych obrazów dla karty?

AKTUALIZACJA: Ze względu na kompletność odpowiedzi; z uwagami i ios tabbar put text in the middle when no image

[tab.tabBarItem setTitlePositionAdjustment:UIOffsetMake(0, -10)]

+0

Wystarczająco. Znalazłem lepszy sposób: http: //stackoverflow.com/questions/12586411/ios-tabbar-put-text-in-the-middle-when-no-image –

+0

+1 wciąż. Działa odkąd ios5 –

+0

zakończył się wyborem twoich odpowiedzi, ponieważ jest bardziej wszechstronny :) –

21

Prawdopodobnie chcesz zastosować przesunięcie to globalnie, więc sugeruję

obj-C

[UITabBarItem appearance].titlePositionAdjustment = UIOffsetMake(0, -4); 

SWIFT:

UITabBarItem.appearance().titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -4) 
+0

korekta dla Swift: 'UITabBarItem.appearance(). TitlePositionAdjustment = UIOffset (poziomy: 0, pionowy: -4)' – 262Hz

+1

Jeśli chcesz tylko ustawić pozycję pionową (w swift), możesz również użyć tego 'UITabBarItem.appearance () .titlePositionAdjustment.vertical = -4' – benrudhart

8

Oto ta sama sztuczka z konstruktora Interface:

enter image description here

4

Możesz to zrobić bezpośrednio z Konstruktora interfejsu (przesunięcie niestandardowe w pozycji tytułu), tak: link

+0

Po prostu wypróbowałeś i działa, jednak kiedy przejdziesz do trybu poziomego, twój tekst nie będzie już wyśrodkowany na twój obraz (ponieważ w obrazie i etykiecie w trybie poziomym są ustawione poziomo, a nie pionowo) – Starwave