2013-07-05 2 views
1

Итак, у меня есть vc A & vc B. Когда я выполняю push-сегу от A до B, автоматически создается кнопка «Назад». Это здорово, но я хочу изменить цвет текста этой кнопки на черный с помощью SetTitleTextAttributes.Применение кнопки «SetTitleTextAttributes» к кнопке «назад»

От читать другие вопросы, связанные с этим я узнал, что вы должны изменить кнопку назад, которая будет отображаться в В.- В в В.- А. Somthing как это:

На В.- А:

this.NavigationController.NavigationItem.BackBarButtonItem.SetTitleTextAttributes (textAttrButton, UIControlState.Normal); 

о некоторых вопросах они говорят, чтобы поставить это в других viewWillAppear сказать просто, прежде чем выполнить переход к В.- В. в обоих случаях я получаю следующее сообщение об ошибке:

object reference not set to an instance of an object

Это на В.- В:

enter image description here

ответ

1

Лучшим вариантом является использование использование UIAppearance для этого. Работает для всех UIBarButtonItems во всем приложении, но требует iOS.

UIBarButtonItem.Appearance.SetTitleTextAttributes(new TextAttributes { TextColor = UIColor.Black }, UIControlState.Normal);

+0

ОК, так что будет местом, где можно поставить этот код? ViewDidLoad по-прежнему дает ту же ошибку. –

+0

'NavigationItem' имеет значение null внутри' ViewDidLoad 'вашего контроллера? Является ли контроллер внутри 'UINavigationController'? Это звучит не так. – jonathanpeppers

+0

Не уверен, что означает u, но у меня есть контроллер навигации, поэтому, если я нажимаю кнопку push, вы автоматически показываете кнопку возврата. –

0

Вы можете попытаться изменить attrbutes, используя внешний вид прокси навигационной панели задней кнопки элемента. Я уверен, что если и как это работает на C#.

Смежные вопросы