0

次のコードを使用して、UINavigationBarの戻るボタンをカスタマイズしています。ただし、画像が引き伸ばされすぎると、次のような画像になります。これを防ぐ方法を教えてください。

ありがとう!

[[UIImage imageNamed:@"back_button"] stretchableImageWithLeftCapWidth:14 topCapHeight:0]

ここに画像の説明を入力してください

元の戻るボタンの画像:ここに画像の説明を入力してください

4

4 に答える 4

2

の最小幅は、UIBarButtonItem主に提供する画像のサイズによって決まります。左右の部分を左右のキャップとして使用できるように、画像の中央の列にタイル化可能な画像コンテンツが1ピクセルだけになるように、エディターから戻る矢印の画像をエクスポートする必要があります。

バックバーボタンアイテム矢印の例

于 2012-08-19T15:01:37.967 に答える
1

画像のとおり、画像は正しく引き伸ばされているようです。戻るボタンのフレームを確認するだけです。また、文字列「Profile」の末尾に空白がないかどうかを確認してください。

于 2012-08-19T15:01:15.720 に答える
0

stretchableImageWithLeftCapWidth:topCapHeightiOS5では非推奨です。

これはあなたの質問に答えません。それは単なるヒントです。

非推奨のUIImageメソッド

于 2012-08-19T22:53:38.573 に答える
0

ノイズテクスチャのある画像があり、同じことをしたいと思っていました。私はついにこのソリューションにたどり着きました。これはあなたが望むことを正確に実行すると信じています(少なくともiOS 6では):

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] init];
UIImage *buttonBg = [[UIImage imageNamed:@"back-arrow.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 16, 0, 6)];
[backButton setBackButtonBackgroundImage:buttonBg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
backButton.title = @"Back";

エッジインセットをカスタマイズして、伸びてはならない部分を除外できます。

于 2013-04-10T19:11:48.220 に答える