На моем баре Nav у меня есть пара RightbarbuttonItems, которые имеют пользовательские значки (изображения иконы белые, которые хорошо работали с основной цветовой схемой iOS 6).
Под iOS 7 загружается изображения с использованием initWithTitle (см. Scode Fronippet 1) заменяет «белый» цвет в значке на правильный глобальный оттенок (в данном случае определенный цвет темно -синего))
Код фрагмент 1:
UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:(UIBarButtonItemStyle) UIBarButtonSystemItemCancel target:(self) action:@selector(refreshList)];
refreshButton.image = [UIImage imageNamed:@"RefreshIcon.png"];
Тем не менее, мне нужно было использовать initWithCustomView, чтобы преодолеть странное изменение в поведении, которое заставляло значки выходить из виду. Основная идея состояла в том, чтобы специально установить размер значков. initWithCustomView решила проблему размера, но не отображает изображения кнопок с глобальным оттенком, они отображаются в цвете изображения (белый). Кодовый фрагмент 2 показывает, как я создаю кнопку с помощью initWithCustomView.
Код фрагмент 2:
CGRect frameCustomButton2 = CGRectMake(0.0, 0.0, 18.0, 18.0);
UIButton *customButton2 = [[UIButton alloc] initWithFrame:frameCustomButton2];
[customButton2 setBackgroundImage:iconRefreshButton forState:UIControlStateNormal];
UIBarButtonItem *barCustomButton2 =[[UIBarButtonItem alloc] initWithCustomView:customButton2 ];
barCustomButton2.image = iconRefreshButton;
[customButton2 addTarget:self action:@selector(refreshList) forControlEvents:UIControlEventTouchUpInside];
Весь этот код, конечно, находится в (void) ViewDidload. Я пробовал что -то вроде:
barCustomButton2.tintColor = [UIColor blackColor]; //doesn't work
или [Гарштуттонпейнс Сеттинколор: [UIColor BlackColor]]; // не работает
И они не переопределяют белый цвет изображения. Это почти так, как будто создание индивидуального представления происходит после того, как вид рассматривает глобальный цвет оттенок?
Как я могу гарантировать, что значок кнопки приобретает глобальный оттенок?
Спасибо!