1

すべてのナビゲーション項目(ボタン)に背景画像を設定したい(ユニバーサル)。

これらの画像はどのように見えるべきですか?

固定寸法はありますか、それとも繰り返し背景画像を作成することは可能ですか?

この背景画像をプログラムで変更するにはどうすればよいですか?

手伝ってくれてありがとう

アップデート:

このボタンの背景を変更するためのこのコードを見つけましたが、機能していません。

UIImage *barButton = [UIImage imageNamed:@"button_background.png"];
    [[UIBarButtonItem appearance] setBackgroundImage:barButton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

そして、どの寸法が必要かわかりません。

PS 背景色を変更できるように、ボタンの背景を変更したい (self.navigation.controller.nvigationBar.tintColor ..)

4

3 に答える 3

2

以下のコードはあなたの問題を解決するかもしれません

UIButton *backBtn     = [UIButton buttonWithType:UIButtonTypeCustom];  
UIImage *backBtnImage = [UIImage imageNamed:@"button_background.png"]  ;  
[backBtn setBackgroundImage:backBtnImage forState:UIControlStateNormal];  
[backBtn addTarget:self action:@selector(goback) forControlEvents:UIControlEventTouchUpInside];  
backBtn.frame = CGRectMake(0, 0, 54, 30);  
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithCustomView:backBtn] ;  
self.navigationItem.leftBarButtonItem = cancelButton;
于 2012-05-05T13:53:38.583 に答える
0

恐れてカスタム戻るボタンを作成する必要があります

このコードをチェックしてください

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
                               initWithImage:[UIImage imageNamed:@"yourImage.png"]
                                       style:UIBarButtonItemStyleBordered 
                                      target:nil 
                                      action:nil];

self.navigationItem.backBarButtonItem = backButton;
[backButton release];

それがうまくいったかどうか教えてください

乾杯

于 2012-05-05T12:50:28.503 に答える
0

カテゴリーはどうですか?たとえば、次のようにできます。

@interface UIBarButtonItem(JFAdditions)

- (id)initWithTitle:(NSString *)title image:(UIImage*)img;//add target and action if need

@end

 @implementation UIBarButtonItem(JFAdditions)

 - (id)initWithTitle:(NSString *)title image:(UIImage*)img
 {
        UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
        //add background image and text on button, target and action if need, also
    self = [self initWithCustomView:btn];

    return self;
}
于 2012-05-05T13:45:40.330 に答える