Perché ci sono lasciati vuoti / destra quando aggiungo un'immagine alla mia barra di navigazione?
-
22-09-2019 - |
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.
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.