2013-10-03 19 views
14

C'è un modo per regolare la posizione del badge UITabBar in iOS 7? Il badge ora blocca l'icona della barra delle linguette un po 'più di quanto vorrei.iOS 7 UITabBar posizione badge

iOS 6: enter image description here

iOS 7: enter image description here

risposta

1

Se possibile, è possibile fornire il metodo con cui si imposta l'immagine della barra delle linguette?

Ho avuto lo stesso problema che avete fatto, ed è stato risolto utilizzando UIImageRenderingModeAlwaysOriginal:

UIImage *image = // Your tab bar item image 
UIImage *selected = // Your selected tab bar item image 

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
selected = [selected imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 

controller.tabBarItem = [[UITabBarItem alloc] initWithTitle:title 
                 image:image 
               selectedImage:selected]; 

Cheers!

+0

Funziona alla grande, grazie mille! – Keller

+0

Questo ha corretto solo l'immagine non selezionata. L'immagine selezionata per me sembra ancora che l'ombra stia applicando. Qualsiasi aiuto? – Halsafar

+1

@Halsafar, È necessario impostare anche l'immagine selezionata della scheda. Il badge di iOS 7 sovrapporrà l'immagine se non si imposta l'immagine selezionata e l'immagine deselezionata. aggiungi [tabBarItem setSelectedImage: selectedImage]; al tuo controller tabBar viewDidLoad dovrebbe risolvere il tuo problema. – Ray

1

Non è possibile regolare l'aspetto del badge.

Se si vuole davvero che sia diverso, penso che implementare la sovrapposizione personalizzata su UITabBar dovrebbe essere abbastanza semplice. In questo modo puoi inserire un testo personalizzato, non solo numeri.

0

iOS 7 SDK deprezzarsi 3 metodo chiave che abbiamo usato per personalizzare TabBar

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage 

- (UIImage *)finishedUnselectedImage 

- (UIImage *)finishedSelectedImage 

Essi suggeriscono le loro alternative in documenti come suggerisce @ Daniel Amitay.

documentazione è qui

https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarItem_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/instm/UITabBarItem/setFinishedSelectedImage:withFinishedUnselectedImage:

2

Sembra che il badge è collocato in una certa posizione rispetto all'immagine. Quindi se non hai un'immagine, il badge si trova nell'angolo in alto a sinistra del tabBarItem.

Quindi, per posizionare il badge, regolare il bordo dei pixel vuoti attorno al file .png utilizzato per l'immagine tabBarItem.