0

UIAppearanceiOS 5で導入されたように、アプリ内のすべてのBarButtonItemにカスタム背景画像を設定するために使用しています。

次のコードは、戻るボタンに設定するために使用するものであり、ポートレートモードで正常に機能します。ただし、電話を横向きに回転させてナビゲーションバーのサイズを変更すると、ボタンのサイズはまったく変更されず、下部で切り取られます。

エッジのはめ込みを垂直方向のサイズ変更を気にしないように設定したので、これは自動的に行われると思いました。何か案は?

UIImage *colorViewBBIImage = [[UIImage imageNamed:@"backButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 17, 0, 7)]; 

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:colorViewBBIImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

私の網膜以外の画像は30pxx31pxです。

4

1 に答える 1

2

ランドスケープモードの場合は、最後のパラメーターUIBarMetricsLandscapePhoneを使用してコードの2行目を呼び出すだけです。

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:colorViewBBIImage forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone];
于 2013-02-14T21:18:26.757 に答える