UINavigationItemに枠なしボタンを乗せる方法

UINavigationItemに枠なしボタンを乗せる方法iOS5から使えるようになったUIAppearance。これちゃんと学ばなきゃダメですね。だいぶ、他のこともできるようになってきたので近いうちにちゃんと学びます。言い訳でした。

さて、タイトルの件です。よくあるあれですね。これ、今僕が作りました。

noborder.png

作成方法はシンプルで下記のコードで行けます。

UIBarButtonItem *settingsBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"gear"] style:UIBarButtonItemStylePlain target:self action:@selector(showSettings)];
    [settingsBtn setBackgroundImage:[UIImage new] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

普通、UINavigationItemに独自の画像を乗せようとして、StyleをUIBarButtonItemStylePlainに指定すると、自動的にUIBarButtonItemStyleBorderedに変えられちゃうんですね。それを回避しています。iOS5から使えるようになったUIAppearanceのメソッドを使っていると思うのですが(ちゃんとあとで調べます)。背景画像を設定できる機能を利用して背景なしにしてます。

ふむふむ。わかれば簡単。

参考にしたページ

Pocket
LINEで送る

You may also like...