UITabBarController невыбранный значок изображения оттенок
У меня есть UITabBarController, который я пытаюсь изменить. Прямо сейчас изображения значка невыбранной вкладки по умолчанию серого цвета. Я знаю, что вы не можете изменить оттенок этих невыбранных изображений значков программно. Apple утверждает, что оттенок контролируется фактическим оттенком самого файла png. Поэтому, если вам нужно изображение белого или зеленого значка, вы должны использовать png, который отображает изображение как белое или зеленое и т. Д. После этого вы должны использовать UIImageRenderingModeAlwaysOriginal AND initWithTitle:image:selectedImage: я использовал этот код в своем FirstViewController.m и я поместил его в -(void)viewDidLoad. Тем не менее, я получаю проблему разбора: ожидаемый идентификатор и его указание на скобку после нуля. Кто-нибудь видит проблему с этим кодом?
//
// FirstViewController.m
// tabmock5
//
// Created by USER on 9/26/13.
// Copyright (c) 2013 USER. All rights reserved.
//
#import "FirstViewController.h"
@interface FirstViewController ()
@end
@implementation FirstViewController
- (void)viewDidLoad
{
[[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[self.tabBarItem initWithTitle:[nil]image:[UIImage imageNamed:@"white_stats.png"]selectedImage:[UIImage imageNamed:@"white_stats.png"]];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
1 ответ
[[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
Это не сохраняет изображение в любом месте. Измените это на:
UIImage *myImage = [[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
И это:
[self.tabBarItem initWithTitle:[nil]image:[UIImage imageNamed:@"white_stats.png"]selectedImage:[UIImage imageNamed:@"white_stats.png"]];
nil
не объект (он не идет в квадратных скобках). Измените это на:
[self.tabBarItem initWithTitle:nil image:myImage selectedImage:[UIImage imageNamed:@"white_stats.png"]];
В качестве альтернативы, вы можете технически сделать это в одной строке:
[self.tabBarItem initWithTitle:nil image:[[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] selectedImage:[UIImage imageNamed:@"white_stats.png"]];
Но это трудно прочитать, если вам нужно вернуться к нему позже, так что не делайте этого.