1

UIBarButtonItemのメソッドを使用しappearanceて戻るボタンの背景画像をカスタマイズしていますが、iPhone Retina ディスプレイで画像を使用すると奇妙な問題が発生します。

Retina 以外の戻るボタンの例を次に示します。あなたはそれがうまく見えることがわかります:

ここに画像の説明を入力

ただし、Retina バージョンは見栄えが悪いです。画像の上部の数ピクセルが下に再表示されているように見えます。

ここに画像の説明を入力

他にこれを見た人はいますか?どのように修正しましたか?

UIBarButtonItem の戻るボタンをカスタマイズするために appDelegate で使用しているコードは次のとおりです。

UIImage *backButton = [[UIImage imageNamed:@"backButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 15, 5,5)];

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
4

2 に答える 2

2

理解した。私の画像の高さはわずか 27 ピクセルでした。高さは 30 ピクセルである必要があります。

長方形は問題なく再スケーリングできるため、長方形の UIBarButtonItem 画像の問題に気付きませんでした。

tl;dr: UIBarButtonItem 画像の高さを、それぞれ 1x および @2x サイズに対して 30 および 60 ピクセルにします。

于 2012-03-18T23:55:05.957 に答える
0

次のコードは私のプロジェクトのものです。問題はありません。以下のコードスニペットを使用してみてください

UIImage* blueBack = [UIImage imageNamed:@"back.png"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:blueBack forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
于 2013-12-26T08:12:29.203 に答える