Warum gibt es links / rechts Lücken, wenn ich ein Bild mit meiner Navigationsleiste hinzufügen?
-
22-09-2019 - |
Frage
UIImageView *navBarImageView = [[UIImageView alloc] initWithImage:navBarImage];
[navBarImageView setFrame:CGRectMake(0, 0, 320, 44)];
self.navigationItem.titleView = navBarImageView;
[navBarImageView release];
Ich versuche, ein Bild zu meinem navigationbar hinzufügen, aber wenn ich den Code verwendet, wie oben aufgeführt, stellt sie das Bild in das navigationbar aber Blätter eine graue Lücke links und rechts des Bildes. Das Bild wurde bei 320x44 erstellt, ich bin nicht sicher, warum es es trotz der Tatsache, Ändern der Größe, dass ich den Rahmen setze.
Lösung
Das ist ... wahrscheinlich nicht, wie Sie wollen, dass-es ist nicht das, was die titleView
für ist. Der üblicher Weg, einen eigene Navigationsleiste Hintergrund zu tun, ist eine Kategorie UINavigationBar
zu erstellen, etwa so:
@implementation UINavigationBar(MyCustomBackground)
- (void)drawRect:(CGRect)r
{
[[UIImage imageNamed:@"my-navigation-background.png"] drawInRect:self.bounds];
}
@end
Werfen Sie, dass in einer .m-Datei in Ihrem Projekt und Sie sollten alle Ihre Navigationsleisten verwenden „my-Navigation-background.png“ als Hintergrund sehen.