0

ナビゲーションバーの戻るボタンの背景画像をカスタマイズするために、このコードを appDelegate に実装しました。

float version = [[[UIDevice currentDevice] systemVersion] floatValue];
    if (version >= 5.0)
    {
        // iPhone 5.0 code here
        UIImage *buttonImage = [[UIImage imageNamed:@"btn_backesp.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 10, 1, 10)];
        [[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

    }

    return YES;

しかし、このエラーが発生しました.2つの戻るボタンが重なっているようです.デフォルトのものでカスタマイズされています. 左バーボタンのアイテムを非表示にしようとしましたが、両方とも非表示になりました。

ここに画像の説明を入力

どうもありがとう

4

1 に答える 1

4

以下のコードを使用して、戻るボタンの画像を設定します。完璧に機能します

UIButton *backBtn     = [UIButton buttonWithType:UIButtonTypeCustom];  
UIImage *backBtnImage = [UIImage imageNamed:@"btn_backesp.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;

戻る方法:-

- (void)goback
{
    [self.navigationController popViewControllerAnimated:YES];
}
于 2012-05-10T16:56:33.663 に答える