2016-05-23 2 views
1

Я хочу, чтобы скрыть текст кнопки обратно на панели навигации и так нашел прошлые такие вопросы, как это: UINavigationBar Hide back Button TextНевозможно изменить текст пункта навигации задней кнопки

Однако я не могу изменить текст либо с помощью раскадровки, либо в коде. См скриншот ниже для попытки изменить его с помощью раскадровки:

enter image description here

Или, если я попытаюсь сделать это программно, добавив следующее viewDidLoad толкаемого контроллера представления

self.navigationItem.backBarButtonItem?.title = "stuff" 

Он имеет никакого эффекта, и не перемещает одну и ту же строку кода в контроллер просмотра, делающий нажатие.

Как это вообще не изменится, независимо от того, как я пытаюсь изменить его? Как с помощью раскадровки можно указать заголовок пункта навигации, но не текст кнопки «Назад»?

Если добавить следующее толкаемого контроллер представления, то я могу получить текст изменения:

UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.clearColor()], forState: UIControlState.Normal) 
UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.clearColor()], forState: UIControlState.Highlighted) 

Но я хотел бы понять, почему ни один из других способов, пытаясь не изменить его иметь никакого эффекта

ответ

1

Название кнопки «Назад» автоматически устанавливается на заголовок контроллера вида, к которому он вернется.

Чтобы сделать то, что вам нужно, вам придется спрятать кнопку «Назад» и вставить свою собственную кнопку со своим собственным изображением.

Раздражающий == @YES.

0

Как упомянуто выше Бретт, для изменения текста необходимо создать новую кнопку.

Чтобы задать заголовок кнопки возврата, попробуйте следующий код:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Stuff" style:UIBarButtonStylePlain target:nil action:nil]; 

Или сделать это в раскадровке, добавив кнопку пункта бар в панели навигации.