Ich habe ein Navigationssteuerelement hinzugefügt, um zwischen Ansichten in meiner App zu wechseln. Einige Ansichten sollten jedoch nicht die Schaltfläche "Zurück" (der vorherige Titel) haben. Irgendwelche Ideen, wie man den Zurück-Button versteckt?
ios
objective-c
iphone
navigation
uinavigationcontroller
Chilly Zhong
quelle
quelle
self.navigationItem.leftBarButtonItem = nil;
. Wenn Sie leftbarbuttonitem explizit eingestellt haben, können Sie verwendenself.navigationItem.leftBarButtonItem = nil;
.self.navigationItem.hidesBackButton = YES;
wird Zurück Schaltfläche verstecken ItemDer beste Weg ist, diese zu kombinieren, damit die Zurück-Schaltfläche auch dann ausgeblendet wird, wenn Sie sie manuell einrichten:
quelle
Zurück-Schaltfläche mit Balgcode ausblenden ...
oder
Auch wenn Sie benutzerdefinierte haben,
UINavigationBar
dann versuchen Sie unten Codequelle
In Swift :
Fügen Sie dies dem Controller hinzu
quelle
Verwenden Sie den Code:
quelle
Verwenden Sie in der Funktion viewDidLoad des UIViewController den folgenden Code:
quelle
Vergessen Sie nicht, dass Sie es für das Objekt mit dem Navigationscontroller aufrufen müssen. Wenn Sie beispielsweise einen Navigationscontroller haben, der mit einem RootViewController auf einen Registerkartenleisten-Controller drückt, führt der Aufruf
self.navigationItem.hidesBackButton = YES
des RootViewControllers zu nichts. Sie müssten tatsächlich anrufenself.tabBarController.navigationItem.hidesBackButton = YES
quelle
Vergessen Sie nicht, dass wir jetzt die Geste zum Zurückschieben haben. Sie möchten dies wahrscheinlich auch entfernen. Vergessen Sie nicht, es bei Bedarf wieder zu aktivieren.
quelle
Fügen Sie diesen Code in Ihren View Controller ein
quelle
Für mich schien keines der oben genannten zu funktionieren. Es hatte keine visuelle Wirkung. Ich verwende Storyboards mit einer Ansicht, die in einen Navigationscontroller "eingebettet" ist.
Ich füge dann auf Codeebene meine menuItems hinzu und aus irgendeinem Grund ist der "backButton" beim visuellen Debuggen der Ansichtshierarchie sichtbar, und mein menuItem-Symbol wird unter der unsichtbaren "Zurück-Schaltfläche" angezeigt.
Ich habe die Einstellungen ausprobiert, wie bei den verschiedenen Hook-Methoden vorgeschlagen, und das hatte keine Auswirkung. Dann versuchte ich einen brutaleren Ansatz und iterierte über die Unteransicht, die ebenfalls keine Wirkung hatte.
Ich habe meine Symbolgrößen überprüft und schien in Ordnung zu sein. Nachdem ich mich auf die Apple Human Interface Guideline bezogen hatte, bestätigte ich, dass meine Symbole korrekt sind. (1 Pixel kleiner in meinem Fall 24px 48px 72px).
Der seltsamste Teil ist dann die eigentliche Lösung ...
Wenn Sie das BarButton-Element hinzufügen, geben Sie ihm einen Titel mit mindestens einem Zeichen , in meinem Fall ein Leerzeichen.
Hoffe das hilft jemandem.
quelle
Es hat bei mir nicht in allen Fällen funktioniert, als ich eingestellt habe
self.navigationItem.hidesBackButton = YES;
in viewWillAppear oder ViewDidLoad, funktionierte aber perfekt, als ich es in init des viewController einstellte.
quelle
Probier diese -
self.navigationController?.navigationItem.hidesBackButton = true
quelle
In c # oder Xamarin.ios ist this.NavigationItem.HidesBackButton = true;
quelle
Wenn Sie diesen Codeblock in didLoad oder loadView verwenden, hat dies funktioniert, aber nicht perfekt. Wenn Sie genau hinschauen, können Sie sehen, dass sich die Schaltfläche "Zurück" versteckt, wenn Ihre Ansicht geladen wird.
Was ist die perfekte Lösung?
Fügen Sie die BarButtonItem- Komponente aus componentView (Befehl + Umschalt + L) zur Navigationsleiste Ihres Zielansichtscontrollers hinzu.
Wählen Sie im rechten Bereich BarButtonItem set Title = ""
quelle