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