2015-07-08 10 views
9

Come rimuovere "<" dal pulsante Indietro di UINavigationItem. Ho un UIViewController sul mio storyboard aperto con Push segue. Mi piacerebbe solo avere il testo sul pulsante Indietro, e non la freccia indietro.Rimuovere "<" dal pulsante Indietro UINavigationItem

Finora, ho aggiunto questo codice alla funzione prepareForSegue nel chiamante UITableViewController.

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

Quando l'UIView viene in su, ha "< Fatto" nel testo del pulsante indietro. Come posso configurarlo in modo che abbia "Fatto"?

+1

pulsante SET leftbar invece di BackButton –

risposta

18

Aggiungere questa riga 2 del codice nel tuo AppDelegate. Rimuoverà l'indicatore posteriore da tutti i controller della vista.

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

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

} 

Se hai trovato spazio nella parte sinistra quindi impostare posizione del titolo

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

Ciò ha rimosso il "<". C'è un modo per recuperare lo spazio che è rimasto indietro? Il testo del mio pulsante occupa lo stesso spazio che aveva quando veniva visualizzato "<" e lascia uno spazio abbastanza grande alla sinistra del testo del pulsante. –

+0

@ScottKilbourn funziona per te o no? –

+1

Sì, è perfetto! Grazie mille. –

2

In viewDidLoad

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

Se si dispone di un costume UINavigationBar impostato leftBarButtonItem a nil

+0

ho messo la linea self.navigationItem.setHidesBackButton nel viewDidLoad del UIViewController apertura. Ora il pulsante è completamente sparito. –

+0

@ScottKilbourn vecchia risposta .... ma non è un problema. Puoi aggiungere un pulsante sinistro nella barra di navigazione nel controller di visualizzazione usando 'self.navigationItem.leftBarButtonItem' proprio come quello giusto. In realtà suggerirei di usare questo metodo poiché ti dà più controllo sull'assegnazione dei pulsanti sinistro e destro piuttosto che nascondere semplicemente il gallone globalmente tramite Appdelegate. – Annjawn