2016-04-05 15 views
1

Ich versuche, ein benutzerdefiniertes Navigationselement backBarButtonItem-Symbol festzulegen. Bisher verwende ich diesen Code auf der preveous Ansicht des View-Controller haben Last:Festlegen eines benutzerdefinierten Navigationselements backBarButtonItem-Symbol [Objective-c]

- (void)viewDidLoad{ 
[super viewDidLoad]; 


UIBarButtonItem *myBackButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-arrow"] style:UIBarButtonItemStylePlain target:nil 
                   action:nil]; 
self.navigationItem.backBarButtonItem = myBackButton;} 

Und hier ist das Ergebnis:

enter image description here

Ich habe zwei Symbole und ich kann nicht verstehen was passiert. Ich möchte den Einheimischen loswerden und meinen behalten.

Kann mir jemand helfen?

UPDATE:

Verwendung:

[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"back-arrow"]]; 
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"back-arrow"]]; 

Das Ergebnis ist:

Es, das Ausgangsproblem löst, aber ich habe ein Symbol, das zu groß ist. Wie kann ich die Größe ändern? Ich benutze ein Icon, das 53x46px ist.

Antwort

2

Versuchen Sie diesen Code:

[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"your-image"]]; 
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"your-image"]]; 
+0

ich gerade aktualisiert die Frage mit, was du mir vorgeschlagen. Guck mal. –

+1

Es ist, weil Ihre Bildgröße 22x22 für Non-Retina-Bildschirme und 44x44 für Retina sein muss. Erstelle 3 Bilder mit dem Namen somename @ 1 mit der Größe 22x22, somename @ 2 44x44 und somename @ 3 66x66. Und dann 'imageNamed: @" somename "' (ohne @ 1/2/3). – Ookey