アプリの雰囲気がグッと高まる!TabBarの背景や、アイコンを好きなようにカスタム!

今回はアプリではよく使うTabBarのカスタマイズ方法についてです。iOS5よりappearanceが使えるようになり、カスタマイズが容易になりました。アプリ毎に設定すると、より雰囲気が伝わるでしょう。
具体的にはTabbarの背景画像を設定したり、アイコンを設定していきます。そうすると、こんな感じに独自の設定を反映することができます。
1. 背景画像・アイコン画像を準備する
タブバー背景画像のサイズは、320×49(Retina 640×98)pxで作ります。
アイコンは30×30(Retina 60×60)pxの正方形の中に入るようにして、書き出します。ボタンを選択・非選択している時の2バージョン作ります。
ボタンが選択されているときの背景画像を作ります。この背景画像サイズはタブの数によって変わります。(320/タブの数)×49pxで作ってください。今回はタブが4つなので、160×49pxで作っています。
2. appearanceで背景画像を設定
AppDelegate.mファイルを開き、didFinishLaunchingWithOptionsの中に設定を記述します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //タブバー設定 UIImage *image2 = [UIImage imageNamed:@"タブ背景画像.png"]; UIImage *image3= [UIImage imageNamed:@"ボタン選択時の背景画像.png"]; [[UITabBar appearance] setBackgroundImage:image2]; [[UITabBar appearance] setSelectionIndicatorImage:image3]; return YES; }
3. ボタン選択・非選択時のアイコン設定
最初に開くビュー等の、viewDidLoadに設定を記述します。
UIImage *selectedImage = [UIImage imageNamed:@"選択時のアイコン画像.png"]; UIImage *unselectedImage = [UIImage imageNamed:@"非選択時のアイコン画像.png"]; //タブバー情報を取得 UITabBar *tabBar = self.tabBarController.tabBar; UITabBarItem *item1 = [tabBar.items objectAtIndex:0]; //1番左のタブが0、順に増やして下さい //タブバー選択・非選択時の画像を設定 [item1 setFinishedSelectedImage:selectedImage withFinishedUnselectedImage:unselectedImage]; //タブバーの文字色を設定(選択前) [item1 setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:0.31 green:0.25 blue:0.17 alpha:1.0], UITextAttributeTextColor,nil] forState:UIControlStateNormal]; //タブバーの文字色を設定(選択中) [item1 setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], UITextAttributeTextColor,nil] forState:UIControlStateSelected];
タブの数だけ設定しておいてください。
ということで、最終的にこのようにカスタマイズできました。
↓ ↓ ↓
[sc name=”ios”][sc name=”engeneer”]
SHARE
PROFILE

入江 慎吾
Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)
Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)