1

ナビゲーション バーをカスタマイズするために、いくつかの手順を実行しました。

  1. クラスから継承するサブクラスを作成し、UINavigationBar影の描画やナビゲーション バーの背景画像の設定などのカスタマイズを行います。
  2. ナビゲーション ビュー コントローラーのみを含む空の xib ファイルを作成します。
  3. ナビゲーション ビュー コントローラーでナビゲーション バーのクラス名を設定します。

すべて正常に動作しますが、ナビゲーション バーに別のカスタマイズされた戻るボタンを追加したい場合、 を にアタッチしようとしましUIBarButtonItemたが、サブクラスからnavigationItem.backbarbuttonitemを取得する方法がわかりません。navigationItemUINavigationBar

コードサンプル:

// 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

ありがとう :)

4

1 に答える 1

0

uinavigationbar を非表示にできます。次に、uinavigationbar の高さと幅を持つことができる uiview を配置します。次に、ボタンが収まる数または必要な数だけ追加します。ビューに uiimage を追加します。素敵なカスタマイズされた uinavigation バーが表示されます。popviewcontroller または poptorootviewcontroller を使用して戻るボタンを模倣できます。

于 2012-10-16T20:24:17.250 に答える