2016-02-06 3 views
1

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

Это результат:

enter image description here

Изображение Я использую не синий круг, вот настройки и структуре объекта:

enter image description here

enter image description here

Изображение имеет соответствующий размер, и я пробовал с несколькими изображениями все с th один и тот же результат.

+0

ли файл PNG альфа-канал? Иногда значок просто окрашивается, если нет. – Douglas

+0

В образовательных целях, откуда вы это знаете? – rhedin

+1

Я использовал png без альфа один раз на элементе панели вкладок, и все, что появилось, было цветным значком, точно так же, как ваш. Изменен альфа, и он сработал. Цвет оттенка взял на себя. – Douglas

ответ

2

Это потому, что панель навигации обрабатывает изображения в виде шаблонов и отображает их, применяя стандартный цвет оттенков.

Чтобы отобразить изображение в оригинальной форме, вам необходимо использовать UIImageRenderingModeAlwaysOriginal в качестве режима рендеринга изображения.

Вы можете установить это в viewDidLoad методе вашего UIViewController

- (void)viewDidLoad { 

    UIBarButtonItem* rightButton = self.navigationItem.rightBarButtonItem; 
    [rightButton setImage:[[UIImage imageNamed:@"imageName"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]]; 
} 
+0

Это сделало трюк, спасибо! – rhedin

+3

Это более чистый способ сделать это, используя xcassets http://stackoverflow.com/a/33254730/884674 –

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