Domanda

UIImageView *navBarImageView = [[UIImageView alloc] initWithImage:navBarImage];
[navBarImageView setFrame:CGRectMake(0, 0, 320, 44)];
self.navigationItem.titleView = navBarImageView;
[navBarImageView release];

Sto cercando di aggiungere un'immagine al mio navigationBar, ma quando ho usato il codice come elencato sopra, pone l'immagine nel navigationBar, ma lascia un vuoto grigio a sinistra e destra dell'immagine. L'immagine è stata creata a 320x44, io non sono sicuro perché è il ridimensionamento, nonostante il fatto che io sono la creazione della struttura.

È stato utile?

Soluzione

Questo è ... probabilmente non come si desidera farlo, non è quello che il titleView è per. Il solito modo di fare un costume di navigazione barra di fondo è quello di creare una categoria sulla UINavigationBar, in questo modo:

 @implementation UINavigationBar(MyCustomBackground)
 - (void)drawRect:(CGRect)r
 {
      [[UIImage imageNamed:@"my-navigation-background.png"] drawInRect:self.bounds];
 }
 @end

Gettare che in un file .m nel progetto e si dovrebbe vedere tutte le barre di navigazione usano "my-navigazione-background.png" come il loro background.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top