ナビゲーション バーをカスタマイズするために、いくつかの手順を実行しました。
- クラスから継承するサブクラスを作成し、
UINavigationBar
影の描画やナビゲーション バーの背景画像の設定などのカスタマイズを行います。 - ナビゲーション ビュー コントローラーのみを含む空の xib ファイルを作成します。
- ナビゲーション ビュー コントローラーでナビゲーション バーのクラス名を設定します。
すべて正常に動作しますが、ナビゲーション バーに別のカスタマイズされた戻るボタンを追加したい場合、 を にアタッチしようとしましUIBarButtonItem
たが、サブクラスからnavigationItem.backbarbuttonitem
を取得する方法がわかりません。navigationItem
UINavigationBar
コードサンプル:
// header file
@interface MyNavigationBar : UINavigationBar
@end
// implementation file
@implementation MyNavigationBar
-(void)drawRect:(CGRect)rect
{
// background image
UIImage* background_image = [UIImage imageNamed:@"my-navigation-bar.png"];
[self setBackgroundImage:background_image forBarMetrics:UIBarMetricsDefault];
// draw shadow
self.layer.masksToBounds = NO;
self.layer.shadowOpacity = 0.6;
self.layer.shadowOffset = CGSizeMake(0, 3);
}
@end
navigationItem
カスタマイズしたサブクラスでエントリを取得する方法はありますかUINavigationBar
、それとも間違った方法でしたか? :P
ありがとう :)