iOS7以降でのSegumented Controlに画像表示
例えば以下の画像をそれぞれ、Segmented Controlに表示してみる。
Xcode上で新規グループ(Image)を作成し、それぞれの画像を登録。
Segment Controlのアトリビュートインスペクタで以下に設定
- セグメント4つに設定
- セグメント1 : bloackIcon.png
- セグメント2 : redIcon.png
- セグメント3 : yellowIcon.png
- セグメント4 : greedIcon.png
実際に表示させてみると・・・
表示が全て青色になっているorz 色々調べてみると以下サイトを発見!!
UIKitを使いこなそう
どうやらデフォルト色で塗られている模様。 そこでSegment Controlをアウトレットとして登録し、 ソース上でイメージを設定する。
/* 画像読み込み */
UIImage *blackImage = [[UIImage imageNamed:@"blackIcon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *redImage = [[UIImage imageNamed:@"redIcon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *yellowImage = [[UIImage imageNamed:@"yellowIcon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *greenImage = [[UIImage imageNamed:@"greenIcon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
/* セグメントコントロールへ画像設定 */
[_colorSegment setImage:blackImage forSegmentAtIndex:0];
[_colorSegment setImage:redImage forSegmentAtIndex:1];
[_colorSegment setImage:yellowImage forSegmentAtIndex:2];
[_colorSegment setImage:greenImage forSegmentAtIndex:3];
いざ実行!!
無事表示されました^^
UIKitを使いこなそう
/* 画像読み込み */
UIImage *blackImage = [[UIImage imageNamed:@"blackIcon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *redImage = [[UIImage imageNamed:@"redIcon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *yellowImage = [[UIImage imageNamed:@"yellowIcon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *greenImage = [[UIImage imageNamed:@"greenIcon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
/* セグメントコントロールへ画像設定 */
[_colorSegment setImage:blackImage forSegmentAtIndex:0];
[_colorSegment setImage:redImage forSegmentAtIndex:1];
[_colorSegment setImage:yellowImage forSegmentAtIndex:2];
[_colorSegment setImage:greenImage forSegmentAtIndex:3];
0 件のコメント:
コメントを投稿