0

変更しようとしている UITabBarController があります。現在、選択されていないタブのアイコン イメージはデフォルトの灰色です。これらの未選択のアイコン画像の色合いをプログラムで変更できないことは知っています。Apple によると、色合いは png ファイル自体の実際の色合いによって制御されます。したがって、白または緑のアイコン画像が必要な場合は、画像を白または緑などとして表示する png を使用する必要があります。その後、UIImageRenderingModeAlwaysOriginal AND initWithTitle:image:selectedImage を使用する必要があります。 -(void)viewDidLoad に配置しました。ただし、解析の問題が発生しています。予想される識別子と、nil の後のブラケットを指しています。このコードで問題が発生した人はいますか?

//
//  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.
}
4

1 に答える 1

3
[[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"]];

または、技術的には 1 行でこれを行うことができます。

[self.tabBarItem initWithTitle:nil image:[[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] selectedImage:[UIImage imageNamed:@"white_stats.png"]];

しかし、後で戻ってくる必要がある場合、それは読みにくいので、そうしないでください。

于 2013-09-26T19:28:39.700 に答える