2012-11-29 6 views

risposta

40

Perché non hai solo una proprietà title vuota per il tuo controller di visualizzazione e aggiungi il titolo alle immagini personalizzate per la scheda?

UPDATE: Per motivi di completezza della risposta; dai commenti e ios tabbar put text in the middle when no image

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

+0

Abbastanza buono. Ho trovato un modo migliore: http: //stackoverflow.com/questions/12586411/ios-tabbar-put-text-in-the-middle-when-no-image –

+0

+1 ancora. Funziona da quando ios5 –

+0

ha finito per selezionare le risposte perché è più completo :) –

21

probabilmente si desidera applicare questo offset a livello globale, in modo da suggerirei

Obj-C

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

Swift:

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

per Swift: 'UITabBarItem.appearance(). TitlePositionAdjustment = UIOffset (orizzontale: 0, verticale: -4)' – 262Hz

+1

Se vuoi semplicemente regolare la posizione verticale (in rapido) potresti anche usare questo 'UITabBarItem.appearance () .titlePositionAdjustment.vertical = -4' – benrudhart

8

Ecco lo stesso trucco con Interface Builder:

enter image description here

4

Puoi farlo direttamente da Interface Builder (Offset personalizzato nella posizione del titolo), in questo modo: link

+0

Appena provato e funziona, tuttavia, quando si entra in modalità orizzontale, il testo non sarà più centrato sull'immagine (perché in modalità orizzontale l'immagine e l'etichetta sono posizionati in orizzontale, non in verticale) – Starwave

Problemi correlati