Wie "Bild ändern" und deaktivieren UIBarButtonItem

Habe ich ein NavigationBar-app mit zwei Ansichten: ein Elternteil und ein sub anzeigen. In der sub-Ansicht, ich bin das hinzufügen einer Schaltfläche, um der rechten Ecke wie folgt:

- (void)viewDidLoad {
    UIBarButtonItem *tempButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"lock-unlocked.png"] style:UIBarButtonItemStylePlain target:self action:@selector(lockScreen)];
    self.navigationItem.rightBarButtonItem = tempButton;
    [tempButton release];
}

Wenn dieser button angeklickt wird, möchte ich ändern, das Bild dieser rightBarButtonItem und deaktivieren Sie die leftBarButtonItem (was wurde Hinzugefügt, die automatisch durch den controller). Im Grunde haben die beiden Staaten eine Taste, gesperrt und entsperrt.

Frage 1:
Die einzige Möglichkeit, die ich finden kann, wie um das Bild zu ändern ist, erstellen Sie eine neue UIButtonItem mit einem neuen Bild und ersetzen rightBarButtonItem mit, der neuen. Aber ich Frage mich, ob es gibt einen Weg, um einfach nur das Bild ändern, ohne eine neue UIBarButtonItem. Bin ich erstellen ein memory-leak, wenn ich halten die Schaffung neuer UIBarButtonItem?

Frage 2:
Wie kann ich einen Einfluß von selbst.navigationItem.leftBarButtonItem und deaktivieren/aktivieren? Ich glaube nicht, dass man manuell, es wird automatisch erstellt, für mich von der Steuerung. Ich sehe keine Methode/Eigenschaft auf UIBarButtonItem zum aktivieren/deaktivieren der Benutzer-Interaktion mit ihm.

InformationsquelleAutor subjective-c | 2009-02-11
Schreibe einen Kommentar