自分ハックで毎日を楽しく!イリテク!

HOME > iOS プログラミング > アプリの雰囲気がグッと高まる!TabBarの背景や、アイコンを好きなようにカスタム!
2012/11/30 (2014/08/25更新) タグ: , ,

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

このエントリーをはてなブックマークに追加

今回はアプリではよく使うTabBarのカスタマイズ方法についてです。iOS5よりappearanceが使えるようになり、カスタマイズが容易になりました。アプリ毎に設定すると、より雰囲気が伝わるでしょう。

具体的にはTabbarの背景画像を設定したり、アイコンを設定していきます。そうすると、こんな感じに独自の設定を反映することができます。

SPONSOR

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];

タブの数だけ設定しておいてください。

ということで、最終的にこのようにカスタマイズできました。

↓ ↓ ↓

この記事をシェアする
このエントリーをはてなブックマークに追加

イリテクの最新記事をお届けします

イリテクの最新情報をチェック!
  • follow us in feedly
    RSSで最新記事を読む

イリテクで開発したサービス

請求書作成業務をもっとかんたんに。見積請求書の作成だけでなく、郵送代行、メール送信、PDFダウンロードなどバックオフィスを効率化。

詳しくはこちら

こちらの記事もおすすめです

SPONSER

開発したWebサービス
記事を書いている人
入江 慎吾 ITゼネラリスト
イリテク(株)代表。webシステム、デザイン、iOSアプリ開発に携わって15年目。複数の企業と専属エンジニア契約中。自社で見積請求CLOUD PAPER運営。iPhoneアプリ全国総合ランキング3位を記録。イリテクブログは月間約5万PV。(もっと詳しく
SPONSOR
最新記事
Facebook
Twitter
おすすめ記事