Я пытаюсь поменять кнопку назад стрелка
В настоящее время я использую следующее для управления размером текста, а также цвет текста на кнопке назад:
[[UIBarButtonItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIFont boldSystemFontOfSize:16.0f], UITextAttributeFont,
[UIColor darkGrayColor], UITextAttributeTextShadowColor,
[NSValue valueWithCGSize:CGSizeMake(0.0, -1.0)], UITextAttributeTextShadowOffset,
nil] forState:UIControlStateNormal];
но если я хочу изменить только цвет стрелки для кнопки «назад», что мне делать?
UINavigationBar
изменилось по сравнению с iOS 7. Посмотрите на ответ, чтобы увидеть влияние некоторых других свойств .Ответы:
Чтобы изменить цвет кнопки «Назад» для определенного контроллера навигации *:
* Если вы используете приложение с более чем одним контроллером навигации и хотите, чтобы этот цвет шеврона применялся к каждому, вы можете использовать прокси-сервер внешнего вида, чтобы установить шеврон кнопки возврата для каждого контроллера навигации следующим образом:
И для хорошей меры, в быстром (спасибо Джей Маю в комментариях):
источник
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
Вы должны установить оттенок всего приложения.
Или в Swift 3:
Источник: Руководство по переходу с iOS 7
источник
UITextField
. Определенно не рекомендуется.Вы можете установить цвет на панели навигации всего приложения, используя метод
источник
Таким способом можно изменить только цвет стрелки (не цвет заголовка кнопки назад):
Панель навигации содержит подпредставление типа _UINavigationBarBackIndicatorView (последний элемент в массиве подпредставлений), которое представляет стрелку.
Результатом является навигационная панель с разными цветами стрелки «Назад» и заголовка кнопки «Назад».
источник
self.navigationController.navigationBar.subviews
до тех пор, пока не будет найдена кнопка «Назад».Если вы используете раскадровки, вы можете установить оттенок панели навигации.
источник
Внутри rootViewController, который инициализирует navigationController, я поместил этот код в свой метод viewDidAppear:
источник
В iOS 6 tintColor окрашивал фон панелей навигации, панелей вкладок, панелей инструментов, панелей поиска и панелей областей. Чтобы подкрасить фон панели в iOS 7, используйте вместо этого свойство barTintColor.
iOS 7 Design Resources Руководство по переходу с пользовательского интерфейса iOS 7
источник
Вы можете установить
tintColor
свойство для кнопки (или элемента кнопки панели) или представления контроллера представления. По умолчанию свойство будет наследовать оттенок от родительского представления вплоть до верхнего уровняUIWindow
вашего приложения.источник
Я должен был использовать оба:
И работает на меня, спасибо за всех!
источник
источник
Обновление Swift 3
Результат:
источник
Просто чтобы изменить
NavigationBar
цвет, вы можете установить цвет оттенка, как показано ниже.источник
В случае, если вы создаете пользовательскую кнопку возврата на основе UIButton с изображением стрелки, здесь приведен фрагмент подкласса. Используя его, вы можете создать кнопку в коде или просто назначить класс в Интерфейсном Разработчике для любой UIButton. Стрелка назад Изображение будет добавлено автоматически и закрашено цветом текста.
источник
Если вы хотите изменить только Back Arrow BUT во всем приложении, сделайте следующее:
источник
В iOS 7 вы можете поместить следующую строку кода
application:didFinishLaunchingWithOptions:
в вашAppDelegate.m
файл:Установите
myColor
цвет, который вы хотите, чтобы кнопка «Назад» была во всем приложении. Нет необходимости помещать его в каждый файл.источник
Swift 2.0: раскраска панели навигации и кнопок
источник
В Swift 3, чтобы изменить цвет стрелки кнопки UIBarButton назад
источник