2012-04-16 8 views
5

sto facendo qualcosa di simile:Perché l'impostazione dell'immagine di sfondo di UINavigationBar influisce sulla dimensione della barra di navigazione?

UIImage *barBackgroundImage = [UIImage imageNamed:@"myImage.png"]; 
[[UINavigationBar appearance] setBackgroundImage: 
            backgroundImage 
            forBarMetrics:UIBarMetricsDefault]; 

e la conseguente UINavigationBar è molto più grande della barra di navigazione standard. Sono consapevole che la dimensione dell'immagine potrebbe essere il problema. C'è un modo per prendersi cura di questo al livello di programmazione?

+0

Ho lo stesso problema. Hai finito per risolvere questo? –

+1

Ce l'ho ora. Se l'immagine retina è 640x88, basta specificare il nome nel codice senza @ 2x incluso. Per qualche motivo, il sistema non lo ridimensionerà correttamente se includi il '@ 2x' nel codice (o se lo dai un nome a qualcosa senza '@ 2x') –

risposta

4

In questo modo ho impostato l'immagine di sfondo di UINavigationController.

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault]; 
[self.navigationController.navigationBar setTintColor:LIGHTBROWN]; 

navbar.png è 320x44 e rispettivamente 640x88 per [email protected].

2

segui questo link per rendere il codice compatibile con iOS4, 5 e 6: http://robert-varga.com/?p=735

Devi solo fare in Photoshop o altri software rettangolare con le dimensioni di 320x44 o 640x88 (per retina display) e l'importazione al tuo progetto

Problemi correlati