昨日に引き続き、tabbarネタ。
昨日は、フッターに文字を出力するところまできましたが、今日は、イメージを追加する方法を調べました。
UITabBarItemクラスのinitWithTitle:image:tag(ここまでがメソッド名)メソッドを使えば簡単にイメージを追加することができます。
試しにサンプルプログラムを作ってみました。
UITabBarController *hoge = [[UITabBarController alloc] initWithNibName:nil bundle:nil]; UIViewController *tab1 = [[[UIViewController alloc] initWithNibName:nil bundle:nil] autorelease]; UIViewController *tab2 = [[[UIViewController alloc] initWithNibName:nil bundle:nil] autorelease]; UIViewController *tab3 = [[[UIViewController alloc] initWithNibName:nil bundle:nil] autorelease]; tab1.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"ゲッツ" image:[UIImage imageNamed:@"test_01.png"] tag:0]; tab2.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"なんでだろー" image:[UIImage imageNamed:@"test_02.png"] tag:0]; tab3.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"フォー" image:[UIImage imageNamed:@"test_03.png"] tag:0]; hoge.viewControllers = [NSArray arrayWithObjects:tab1, tab2, tab3, nil]; [window addSubview:hoge.view]; // Override point for customization after application launch [window makeKeyAndVisible]; |
で、これの実行結果は、下のようになります。
一番右側のボタンを押すと、色が反転します。
ここで問題となるのは、プログラムよりも、画像。
あまりにも大きいのを用意してしまうと、表示されません。
今回、サンプルプログラムで使ったのは、幅(width)41ピクセル、高さ(height)30ピクセルで作った画像。
iPhoneの仕様書には、具体的な最適サイズの記載がなかったような気がしたので、次回、以降、この記事を調べればすぐにわかるようにサイズを明記しました。
また、イメージを作成する際に、もう一つ注意しなくてはいけないのが、背景は、透明色にしないといけないこと。
こうしないと、せっかく作った画像も、全然、表示されず、プログラムのせいなんじゃーないかなーっと疑ってしまう可能性があります。(実際、昨日、そうなって夜中までデバッグしてました。)
ですので、こうした罠にはまらないようにイメージの背景色と大きさに注意を払った方がいいです。
あと、追加で、イメージを作る時の色はなんでも構いません。
色のついた部分が、iPhone上で、青色っぽく点灯するので。
0 コメント:
コメントを投稿