iOS 7で画像を使ったボタンを青くしたい
今までのiOS 6用コードをXcode 5&iOS 7で実行させたら「あら?」ってなることの一つにボタンの色があったんだよね。
特にどうするのよ?って思ったのがデフォルトのあの青色はどうしたらいいの?って思ったんだ。

↑ほら、設定アプリとかで見るでしょ?この色よ。iOS 7以前と違いボタンがボタンっぽくなくなったけど、タップできるんだってわかるように青色で統一されてるよね(アプリによって色が違ったりもするけど)。
それで俺アプリもタップできるところはこの色を使いたいなあ、と思ったのよ。
ボタンに画像を使う場合、こういうコードでいいよね。ナビゲーションバーに表示させるようにしてるけど、挙動はself.viewにaddSubview:しようがさして変わらないはず。

↑このコードだとiOS 6ではこんな感じ。
一応self.viewにもボタンを表示してる(左下ね)。

↑iOS 7だとこのように。
この色が黒いのはもともとの画像の色のままなんだ。
ってことは、iOS 7であの青で表示させたいのなら色を調べてその色で画像素材を作成しなおして、、、って面倒だよねえ。
でもありがたいことにいいのがあるんですよ、奥様!

↑ほれ、この通り。あああ、ありがたや、ありがたや。
特にどうするのよ?って思ったのがデフォルトのあの青色はどうしたらいいの?って思ったんだ。

↑ほら、設定アプリとかで見るでしょ?この色よ。iOS 7以前と違いボタンがボタンっぽくなくなったけど、タップできるんだってわかるように青色で統一されてるよね(アプリによって色が違ったりもするけど)。
それで俺アプリもタップできるところはこの色を使いたいなあ、と思ったのよ。
ボタンに画像を使う場合、こういうコードでいいよね。ナビゲーションバーに表示させるようにしてるけど、挙動はself.viewにaddSubview:しようがさして変わらないはず。
{ UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setImage:[UIImage imageNamed:@"closebutton.png"] forState:UIControlStateNormal]; button.frame = CGRectMake(0, 0, 40, 40); [button addTarget:self action:@selector(buttonTappedHandler) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *buttonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease]; self.navigationItem.rightBarButtonItem = buttonItem; }

↑このコードだとiOS 6ではこんな感じ。
一応self.viewにもボタンを表示してる(左下ね)。

↑iOS 7だとこのように。
この色が黒いのはもともとの画像の色のままなんだ。
ってことは、iOS 7であの青で表示させたいのなら色を調べてその色で画像素材を作成しなおして、、、って面倒だよねえ。
でもありがたいことにいいのがあるんですよ、奥様!
{ UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; //以下同じ }iOS 7から UIButtonTypeSystem というのが追加されてて、これを使うとさっきのが

↑ほれ、この通り。あああ、ありがたや、ありがたや。
<< iOS 7のナビゲーションバーまわりの変更点は要注意 TopPage iOS 7の半透明ビューはどうするの >>
トラックバック
トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/811-410a8dc4
http://ringsbell.blog117.fc2.com/tb.php/811-410a8dc4