0

私は Web とスタック オーバーフローで多くの検索を行いましたが、この問題について多くの質問があることがわかりました。そのため、これに対する解決策を検索したいのですが、見つけることができません。使用する UINavigationBar をサブクラス化しました。私のカスタム画像をNavigationBarに追加しましたが、ナビゲーションバーのサイズを埋めるために引き伸ばされています。高さを増やすにはどうすればよいですか?

これが私が行った方法です。UINavigationControllerのみを含むXibファイルを作成し、インターフェイスビルダーでNavigationBarのMy CustomClassを設定しました:

UINib *nib = [UINib nibWithNibName:@"CustomNavigationController" bundle:nil];
UINavigationController *navController = 
[[nib instantiateWithOwner:nil options:nil] objectAtIndex:0];

次に、私のカスタムクラス:

@implementation CustomNavigationBar

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

ここで高さ、self.frame.size.height を変更しようとしましたが、高さのサイズは変更されません。スケーリングされた画像のみを変更してください...ナビゲーション バーのサイズを設定する方法があります。画像サイズ?

4

2 に答える 2

0

多分次のようなものを試してください:

- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed:@"NavigationBar.png"];
    self.frame = CGRectMake(0, 0, image.size.width, image.size.height);
    [image drawInRect:self.frame];
}
于 2012-04-11T21:34:36.507 に答える
-1

ナビゲーション バーの高さは固定です。変更することはできません。ただし、カスタム ビューを実装することで、独自のナビゲーション バーをロールすることができます。

于 2012-04-11T22:37:28.217 に答える