Skip to content

UIToolbar の背景を画像にする

2011.02.13

UINavigationBar の背景を画像にするでは、UINavigationBar の背景を画像にする方法を紹介しました。基本的には UIImageView を UINavigationBar に insertSubview: atIndex: すればよかったのですが、ひと工夫が必要でした。

では、UIToolbar の背景を画像にする方法はどうでしょうか。

今回は、UIToolbar の背景を画像にする方法を紹介します。

Custom toolbar


UIToolbar の背景を画像にするには、UIImageView を UIToolbar に insertSubview: atIndex: すればそれで OK です。UINavigationBar の場合、ビューコントローラをプッシュしたりポップする過程でタイトルやバーボタンアイテムが UIImageView の後ろに潜り込んでしまう問題がありましたが、UIToolbar の場合、そのような問題は発生しません。

コードは以下のようになります。

// Make barBgImage
UIImage *barBgImage;
barBgImage = [[UIImage imageNamed:@"bar_bg"]
    stretchableImageWithLeftCapWidth:0 topCapHeight:1];

// Make tintColor 
UIColor *tintColor;
tintColor = [UIColor
    colorWithHue:0.774
    saturation:0.521
    brightness:0.618
    alpha:1.000];

// Customize toolbar
UIToolbar *toolbar;
UIImageView *toolbarBgImageView;
toolbar = _navigationController.toolbar;
toolbarBgImageView = [[UIImageView alloc] initWithImage:barBgImage];
[toolbarBgImageView autorelease];
toolbarBgImageView.frame = toolbar.bounds;
toolbarBgImageView.autoresizingMask =
    (UIViewAutoresizingFlexibleWidth
    | UIViewAutoresizingFlexibleHeight);
toolbar.tintColor = tintColor;
[toolbar insertSubview:toolbarBgImageView atIndex:0];
Advertisements

From → Develop

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s