2015-07-08 8 views
9

Wie kann ich die "<" aus dem UINavigationItem Zurück Button entfernen. Ich habe einen UIViewController auf meinem Storyboard, der mit einem Push-Segment geöffnet wurde. Ich möchte nur den Text auf dem Zurück-Button haben, und nicht den Zurück-Pfeil.Entfernen Sie "<" von UINavigationItem Zurück Schaltfläche

Bisher habe ich diesen Code der prepareForSegue-Funktion im aufrufenden UITableViewController hinzugefügt.

 let backItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle., target: nil, action: nil) 
     navigationItem.backBarButtonItem = backItem 

Wenn die UIView kommt, es hat "< Done" im Text der Zurück-Taste. Wie kann ich es so einrichten, dass es nur "Fertig" hat?

+1

Satz leftbar Taste anstelle von Backbutton –

Antwort

18

Fügen Sie diese 2 Codezeile in Ihrem AppDelegate. Es entfernt den Rückmelder von allen View-Controllern.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

    UINavigationBar.appearance().backIndicatorImage = UIImage() 
    UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage() 

} 

Wenn Sie Platz in der linken Seite immer dann gesetzt Titelposition

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-20, 0), for: UIBarMetrics.default) 
+0

Das hat das "<" entfernt. Gibt es eine Möglichkeit, den zurückgelassenen Raum zurückzugewinnen? Mein Schaltflächentext belegt den gleichen Platz wie bei der Anzeige von "<" und hinterlässt einen ziemlich großen Platz links neben dem Schaltflächentext. –

+0

@ScottKilbourn funktioniert für Sie oder nicht? –

+1

Ja, das ist perfekt! Ich danke dir sehr. –

2

In viewDidLoad

self.navigationItem.setHidesBackButton(true, animated: false) 

Wenn Sie eine benutzerdefinierte haben UINavigationBar gesetzt leftBarButtonItem zu nil

+0

Ich legte die self.navigationItem.setHidesBackButton Linie in der viewDidLoad der Öffnung UIViewController. Jetzt ist der Knopf komplett weg. –

+0

@ScottKilbourn alte Antwort .... aber das ist kein Problem. Sie können eine linke Schaltfläche in der Navigationsleiste im View-Controller hinzufügen, indem Sie 'self.navigationItem.leftBarButtonItem' genauso verwenden wie die rechte. Ich würde empfehlen, diese Methode zu verwenden, da es Ihnen mehr Kontrolle über die Zuordnung der linken und rechten Tasten gibt, anstatt nur den Chevron global über Appdelegate zu verstecken. – Annjawn