Ich habe eine iOS-App entwickelt und hatte Probleme mit der Verwendung eines Bilds als Element der linken Leiste in der Navigationsleiste. Ich habe dies auf folgende Weise versucht:leftbarbuttonitem wird nicht in der Navigationsleiste angezeigt
UIImage *backButtonImage = [UIImage imageNamed:@"backbuttonCB"];
CGRect buttonFrame = CGRectMake(0, 0, backButtonImage.size.width, backButtonImage.size.height);
UIButton *backButton = [[UIButton alloc] initWithFrame:buttonFrame];
[backButton setImage:backButtonImage forState:UIControlStateNormal];
UIBarButtonItem *backBarButtonItem= [[UIBarButtonItem alloc] initWithCustomView: backButton];
self.navigationItem.leftBarButtonItem = backBarButtonItem;
Die Leiste Schaltfläche scheint nie während der Ausführung der App angezeigt.
Ich fuhr dann fort, diese andere Methode wie folgt zu versuchen.
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"backbuttonCB"] style:UIBarButtonItemStylePlain target:nil action:@selector(methodname)];
Diese Methode funktionierte tatsächlich. Das angezeigte Bild war jedoch blau getönt und sah nicht so aus, wie es gedacht war. Das Ändern der Tönungsfarbe dieses Bildes hat nicht geholfen.
Irgendeine Idee, wie ich dieses Problem lösen kann?
EDIT: Weitere Informationen, wenn es hilft. Dies ist die erste Ansicht im Navigationsstapel. Der Navigationsstapel wird modal angezeigt, d. H. Es gibt eine vorherige Ansichtssteuerung und es gibt einen modalen Übergang zwischen der vorherigen Ansichtssteuerung und der Navigationssteuerung. Dies ist die erste Ansicht im Navigationsstapel.
EDIT: DAS PROBLEM IST FIXED. Ich denke, es war ein Fehler in xcode, weil, als ich xcode neu startete und es mit einem tatsächlichen Gerät anstelle des Emulators testete, es gut funktionierte. Es scheint jedoch immer noch nicht auf einem Emulator zu funktionieren.
Haben Sie versucht, das Hintergrundbild der Schaltfläche festzulegen? – Wain
Sie sollten UIButton als 'UIButton * button = [UIButton buttonWithType: UIButtonTypeCustom] initialisieren;' Dann 'setFrame' und' setImage' –
Beide Methoden haben nicht funktioniert. – sosale151