2014-11-14 4 views
0

Я знаю, что есть много вопросов/ответов по этой теме, но не может найти подходящего ответа. Я создаю UIBar программно. Мои собственные кнопки (png с прозрачностью) имеют заднее заполнение вместо отображения фонового желоба.Сделать UIBarButtonItem прозрачным iOS 7/8

Система UIBarButton работает идеально, но не моя.

работы:

UIBarButtonItem *exportButton = [[UIBarButtonItem alloc] 
    initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
         target:self                          
         action:@selector(tapExportButton:)]; 

не работает:

UIBarButtonItem *favButton = [[UIBarButtonItem alloc] 
       initWithImage:[UIImage 
        imageNamed:@"FavoriteStar"] 
         style:UIBarButtonItemStylePlain 
         target:self 
         action:@selector(toggleFavorite:)]; 

внутренняя часть в формате PNG прозрачен в моем редакторе GFX

the inner of the star (png) is transparent

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

the inner part is shown black

Что я могу сделать, чтобы сделать его прозрачным?

С уважением,

Йеруном Wolff

ответ

0

Я пересматриваю свой код для лучшего понимания

UIBarButtonItem *favButton = [[UIBarButtonItem alloc] 
      initWithImage:[UIImage 
       imageNamed:@"FavoriteStar"] 
        style:UIBarButtonItemStylePlain 
        target:self 
        action:@selector(toggleFavorite:)]; 

ниже некоторые моменты, которые необходимо позаботиться о: 1. Вашей навигационной панели должны быть прозрачным. 2. Используйте PNG-файл (для лучшего качества) с его прозрачным фоном. 3. Вы также можете использовать приведенный ниже код для справки

UIButton *btnBack=[UIButton buttonWithType:UIButtonTypeCustom]; 
btnBack.frame=CGRectMake(0, 29.5, 38, 25); 
[btnBack setBackgroundImage:[UIImage imageNamed:@"btn_back.png"] forState:UIControlStateNormal]; 
[btnBack setBackgroundImage:[UIImage imageNamed:@"btn_backSelected.png"] forState:UIControlStateHighlighted]; 
[btnBack addTarget:self action:@selector(btnbackClicked:) forControlEvents:UIControlEventTouchDown]; 
UIBarButtonItem *barbutton=[[UIBarButtonItem alloc]initWithCustomView:btnBack]; 
[barbutton setStyle:UIBarButtonItemStyleBordered]; 


self.navigationItem.leftBarButtonItem=barbutton; 

Я использовал пользовательскую кнопку в качестве кнопки бара.

Я действительно хочу услышать от вас. Пожалуйста, дайте мне знать, если это сработает.

+0

Спасибо Абдул, но теперь изображение остается черным. Прежде чем он стал белым (я не знаю, почему он стал белым, я был рассвет в черном). Таким образом, я изменю цвет розыгрыша в png – jr00n

+0

Или есть другой способ изменить цвет изображения кнопки. – jr00n

+0

Когда я делаю изображение с RenderingMode, как это, он работает [[UIImage imageNamed: @ "FavoriteStarNormal"] imageWithRenderingMode: UIImageRenderingModeAlwaysTemplate] – jr00n

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