2015-12-21 3 views
2

Я хочу изменить кнопку «Root View Controller» назад на «Назад», не изменяя заголовок контроллера Root View.Как изменить название элемента кнопки «Назад»?

Я пробовал эти 3 кода, но все они не работают.

navigationItem.backBarButtonItem?.title = "Back" 
navigationItem.leftBarButtonItem?.title = "Back" 
navigationItem.backBarButtonItem?.title = "Back" 

Могу я знать, что я делаю неправильно? Спасибо заранее.

Screenshot

Вот код всего метода для справки:

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    navigationItem.backBarButtonItem?.title = "Back" 
    navigationItem.leftBarButtonItem?.title = "Back" 

    manager = CLLocationManager() 
    manager.delegate = self 
    manager.desiredAccuracy = kCLLocationAccuracyBest 

    if activePlace == -1 
    { 
     manager.requestWhenInUseAuthorization() 
     manager.startUpdatingLocation() 
    } 
    else 
    { 
     // print("String(myvar3.dynamicType) -> \(places[activePlace]["lat"].dynamicType)") 
     let latitude = Double(places[activePlace]["lat"]!) 
     let longitude = Double(places[activePlace]["lon"]!) 

     //creating map region and annotation 
     createMapRegionAndAnnotation(latitude!, longitude: longitude!) 

     print(latitude) 
    } 
+0

Установить заголовок предыдущего UIViewController к одному вы хотите. – Larme

+0

Посмотрите http://stackoverflow.com/questions/497974/changing-the-uibackbuttonitem-title –

ответ

5

Try отменить предыдущий экран SEGUE

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    let backItem = UIBarButtonItem() 
    backItem.title = "My title" 
    navigationItem.backBarButtonItem = backItem 
} 
+0

Привет, могу я знать, почему это не работает? "NavigationItem.backBarButtonItem? .title =" Button "Спасибо за вашу помощь –

+0

@TeeMingWei Если вы устанавливаете кнопку «Назад» для элемента навигации текущего контроллера, вы не устанавливаете кнопку, которая отображается в текущем виде. Фактически вы устанавливаете кнопку «Назад», которая будет использоваться, если вы вытащите из нее еще один контроллер. –

4

Вы также можете изменить его из раскадровки путем изменения свойство задней кнопки в элементе навигации предыдущего контроллера просмотра:

enter image description here

+0

Спасибо за помощь. Я просто попробовал, и он тоже работает –

1

В детском образе это сработало для меня;

self.navigationController!.navigationBar.topItem!.title = "Back"

0

Это работает для меня

let backItem = UIBarButtonItem() 
backItem.title = "" 
self.navigationItem.backBarButtonItem = backItem 
Смежные вопросы