2016-01-11 8 views
2

1) Я добавляю четыре изображения png в Assets.xcassets. selected imageНастройка изображения UITabBarItem в раскадровке, но в другом приложении после запуска запуска

normal image

2) В раскадровке, я встроить в Bar Controller Tab. Настройка изображения TabBarItem. storyboard setting

3) Но после запуска приложения. Я обнаружил, что изображение выглядит немного по-другому с моей настройкой, и я не знаю, почему, может кто-нибудь знать, почему и как исправлять? Ожидание для вас помощь, спасибо enter image description here

ответ

5

Причина, почему изображение выглядит по-другому, потому что он заполняется плоскости цвета, в то время как ваш .png содержит белый, а не пустой фон. UIImage имеет свойство под названием renderingMode. Это свойство может быть default, AlwaysOrigin, AlwaysTemplate.

Таким образом, для UITabBarItem режим рендеринга по умолчанию - AlwaysTemplate, поэтому ваше изображение заполняется. И поскольку ваш образ содержит белый фон внутри значка поиска (там, где он должен был содержать рисунок), он также заполняется.

У вас есть два варианта:
1. Снимите белый фон с иконки.
2. Поскольку вы используете XCAssets, вы можете изменить режим рендеринга в панели атрибутов XCAssets.

Здесь вы можете сделать это с XCAssets:

enter image description here

2

вам нужно установить UIImage.renderingMode, попробовать этот

NSArray *items = self.tabBar.items; 
UITabBarItem *item = items[0]; 
item.image = [[UIImage imageNamed:@"tabbar_recruit.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];