2010-02-16 13 views
13

Wie deaktiviere ich den Backbutton in einem Navigationscontroller?Disable navigationitem backbarbutton

Wenn ich die Schaltfläche wie folgt ausblenden, self.navigationItem.hidesBackButton = TRUE; Die Tastenfläche ist immer noch anziehbar.

+0

Klingt wie ein Fehler. Einen Fehlerbericht einreichen! http://bugreport.apple.com –

+0

Ich werde das ablegen. Ich dachte, es könnte etwas mit der Einstellung auf TRUE zu tun haben, aber das gleiche passierte mit der Einstellung YES. – Glenn

+0

WAHR und JA sollte das gleiche sein :) '#define JA (BOOL) 1' ' #define NO (BOOL) 0' –

Antwort

30

Wenn Sie keine Schaltfläche "Zurück" benötigen und da ein Teil der NavigationBar eine Zurück-Schaltfläche haben soll, können Sie die navBar einfach ausblenden. Ich kann den Code auf das schreiben, wenn Sie das in einigen Projekten tun möchten. Andernfalls könnte Ihr "Bug" kein Fehler sein, wenn Sie ihn von der falschen Stelle aus aufrufen. Nach dem Graben habe ich es geschafft. die Zurück-Taste verwenden, um auszublenden:

self.navigationItem.hidesBackButton = YES; 

die ganze navigationbar Verwendung auszublenden:

self.navigationController.navigationBarHidden = YES; 

Aber dies wird ohne Animation, passieren animieren sie diese verwenden, anstatt:

[self.navigationController setNavigationBarHidden:YES animated:YES]; 

Dies macht eine gleitende Animation zusammen mit der Navigationsansicht. Sie müssen einige andere Mittel bereitstellen, damit die Person zurückkommt.

+0

Gute Sache über das Verbergen der navBar ist, dass Sie nach dem Parsen Sie es mit Animation und verstecken können Du bekommst eine nette Schiebeanimation von oben =) –