If I do self.tabBar.tintColor = [UIColor whiteColor];
Мне удается получить изображение выбранной панели вкладок белым.
Как получить изображение невыбранной панели вкладок черным, темно-серым или красным?
If I do self.tabBar.tintColor = [UIColor whiteColor];
Мне удается получить изображение выбранной панели вкладок белым.
Как получить изображение невыбранной панели вкладок черным, темно-серым или красным?
Вы можете использовать что-то вроде этого. Подсказка этой строки кода — UIImageRenderingModeAlwaysOriginal
. Это означает, что код показывает исходное изображение. Если ваше изображение красное, значок будет красным, а если ваше изображение синим, ваш значок будет синим.
Добавьте этот код в первые ViewController
для каждого TabBarItem
- (void)viewDidLoad
{
[super viewDidLoad];
self.tabBarItem.image = [[UIImage imageNamed:@"yourImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.tabBarItem.selectedImage = [[UIImage imageNamed:@"yourImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
...
{
Теперь вам больше не нужен ваш self.tabBar.tintColor = [UIColor whiteColor];
.
Режимы рендеринга по документации Apple:
UIImageRenderingModeAutomatic, // Use the default rendering mode for the context where the image is used
UIImageRenderingModeAlwaysOriginal, // Always draw the original image, without treating it as a template
UIImageRenderingModeAlwaysTemplate, // Always draw the image as a template image, ignoring its color information
Проверьте этот ответ: stackoverflow.com/a/22766669/1381708