2015-04-29 16 views
10

È possibile aggiungere un titolo sul lato sinistro della barra di navigazione? So come aggiungere un titolo al centro, ma quando provo ad aggiungerne uno sul lato sinistro non vedo nulla. Questo è il codice che ho:Aggiunta di un titolo sul lato sinistro della barra di navigazione

self.navigationItem.leftBarButtonItem?.title = "Elapsed Time: 0:00" 

Grazie per l'aiuto.

risposta

30

provare questo codice:

let leftItem = UIBarButtonItem(title: "Title", 
            style: UIBarButtonItemStyle.plain, 
            target: nil, 
            action: nil) 
    leftItem.isEnabled = false 
    self.navigationItem.leftBarButtonItem = leftItem 

più potente soluzione di questo problema:

let longTitleLabel = UILabel() 
    longTitleLabel.text = "Long long long long long long title" 
    longTitleLabel.font = ................ 
    longTitleLabel.sizeToFit() 

    let leftItem = UIBarButtonItem(customView: longTitleLabel) 
    self.navigationItem.leftBarButtonItem = leftItem 

Ora è solo possibile modificare l'etichetta come si desidera. Puoi usare un altro font o colore del testo.

+0

Perché 'leftItem.enabled = false' ?. Oh, quindi non agisce come un pulsante ... – Alex

+0

@Alex Perché in un altro caso vedrai l'animazione alla spina. È un pulsante e ha un'animazione di tocco. –

+0

Gotcha, ha senso. Grazie – Alex

3

Si potrebbe provare a creare una vista personalizzata e quindi creare un UIBarButtonItem con quella vista personalizzata al suo interno.

Vista personalizzata:?

var button = UIButton(frame: CGRectMake(0, 0, 44, 44)) 
var label = UILabel(frame: CGRectMake(0, 0, 44, 14)) // adjust as you see fit 

label.text = "Label test" 
label.textAlignment = NSTextAlignment.Left 

button.addSubview(label) 

// Add it to your left bar button 

self.navigationItem.leftBarButtonItems = [barButtonNegativeSpacer, UIBarButtonItem(customView: button) 
3

navigationController .navigationBar.isTranslucent = false

let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: view.frame.width - 32, height: view.frame.height)) 
    titleLabel.text = " Home" 
    titleLabel.textColor = UIColor.white 
    titleLabel.font = UIFont.systemFont(ofSize: 20) 
    navigationItem.titleView = titleLabel 
Problemi correlati