0

デフォルトのプロパティを自分のサブクラスのインスタンスUINavigationControllerに置き換えるために上書きしています。だから私は次のようなものを試しましたnavigationBarUINavigationBar

_navigationBar = [[SBNavigationBar alloc] init];

私の-initWithRootViewController:。しかし、それは私が期待したようにはうまくいきませんでした。まだデフォルトnavigationBarが表示されています。

では、上書きするのに最適なポイントはnavigationBar何ですか?

よろしくお願いします
–f

4

1 に答える 1

1

ドキュメントhttp://developer.apple.com/iphone/library/documentation/uikit/reference/UINavigationController_Class/Reference/Reference.htmlを確認すると、 navigationBarプロパティがread-onlyであることがわかります。

カスタムnavigationBarを作成するには、たとえばカテゴリを使用できます。これに対する多くの質問が、stackoverflowで見つかります。

単純なバージョンの 1 つは、drawRectに画像を配置することです。

@implementation UINavigationBar (Custom)

- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed: @"bg_toolbar.png"];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

@end
于 2010-06-03T08:37:57.453 に答える