0

UIToolbarクラスのdrawメソッドをオーバーライドできません。背景画像といくつかのボタンを使用してツールバーをカスタマイズしたいと思います。

AppDelegate.mと、viewcontroller実装ファイルの両方でこれを試しました。これが私のコードです:

@implementation UIToolbar (CustomImage)

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

@end

ビューコントローラのviewDidLoadメソッドに次のコードを含むツールバーを追加しています。

 UIBarButtonItem *flexiableItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
    UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:nil];
    UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:nil];

    NSArray *items = [NSArray arrayWithObjects:item1, flexiableItem, item2, nil];
    self.toolbarItems = items;

助けてくれてありがとう

4

1 に答える 1

1

たぶん、アプリケーションの起動時にこのコードを追加したほうがいいでしょうか?

[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"tabbar.png"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
于 2012-12-07T10:56:05.793 に答える