Gibt es einen besseren Weg, um die backBarButtonItem als dies zu verbergen?
-
22-08-2019 - |
Frage
Ich habe einen Weg, um die Zurück-Taste durch die Navigationssteuerung verwendet zu verstecken. Es wird von der vorherige Steuerung gesetzt, nicht derjenige, der die aktuelle Ansicht der Verwaltung, und das macht es schwierig zu bekommen. Ich brauchte diese im Bearbeitungsmodus zu tun, damit ich vom Bildschirm des Benutzer navigiert weg verhindern könnte.
if(self.editing) {
// Get rid of the back button
UIView *emptyView = [[UIView alloc] init];;
UIBarButtonItem *emptyButton = [[[UIBarButtonItem alloc] initWithCustomView:emptyView] autorelease];
[self.navigationItem setLeftBarButtonItem:emptyButton animated:YES];
} else {
// Restore the back button
[self.navigationItem setLeftBarButtonItem:nil animated:YES];
}
Gibt es einen besseren Weg, dies zu tun?
Lösung
Mit dieser Taste verbergen zurück
[self.navigationItem setHidesBackButton:YES]
Verwenden Sie diese Taste, um zu zeigen, zurück
[self.navigationItem setHidesBackButton:NO]
Andere Tipps
Hier ist die Methode, die ich in meinen Ansicht-Controller verwenden, um zu zeigen, und die Zurück-Taste ausgeblendet, wenn die Bearbeitung aktiviert und deaktiviert ist:
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
if (editing) {
// Disable the back button
[self.navigationItem setHidesBackButton:YES animated:YES];
}
else {
// Enable the back button
[self.navigationItem setHidesBackButton:NO animated:YES];
}
[super setEditing:editing animated:animated];
}
Machen Sie eine Steckdose mit starkem (nicht schwach als Standard) der Stange Taste aus dem Storyboard zu Ihren View-Controller. Der Zweck ist nicht die Referenz zu verlieren, wenn Sie die Links / Rechts-Bar-Taste auf Null gesetzt.