Цвет оттенка для UIBarButtonItem не меняется на устройстве

#objective-c

#objective-c

Вопрос:

Я изменил цвет оттенка для UINavigationBar (на черный цвет) и UIBarButtonItem (на синий цвет) в XIB. На симуляторе он выглядит хорошо, но на панели навигации устройства и элементе кнопки черный.

Как устранить следующую проблему?

Спасибо.

Комментарии:

1. Вы меняли цвет UIBarButtonItem при инициализации его программой?

2. Я изменил цвет оттенка в XIB (НЕ программно)

3. Он все еще не работает. Я использую SDK 5.0 и развертываю на устройстве с iOS 4.2

Ответ №1:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIBarButtonItem_Class/Reference/Reference.html

Оттеночный цвет

Цвет оттенка для элемента button. @свойство (неатомное, сохранить) UIColor * Доступность оттенка

 Available in iOS 5.0 and later.
  

Объявлено в UIBarButtonItem.h

Вы видите, что цвет оттенка устанавливается в Interface Builder, потому что у вас SDK 5.0. Однако при запуске программы на iOS 4 цвет оттенка игнорируется. Цвет оттенка можно установить только для iOS 5. Один из способов заключается в том, чтобы использовать не UIBarButtonItem, а обычный UIButton. Поскольку UIButtons нельзя разместить на панели инструментов, вам придется подделать его, поместив его как аналог панели инструментов и расположив его над панелью инструментов.