2

このスニペットを使用して、すべてのアプリの左戻るボタンのナビゲーション バーのイメージ背景を設定しようとしています:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    float version = [[[UIDevice currentDevice] systemVersion] floatValue];
    if (version >= 5.0)
    {
        // iPhone 5.0 code here
        UIImage *image = [UIImage imageNamed: @"btn_back.png"];
         image = [image stretchableImageWithLeftCapWidth:40.0f topCapHeight:0.0f];
        [[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

    }
    return YES;
}

私は stretchableImageWithLeftCapWidth: でさまざまな値を試してきましたが、最良の結果はこれでした:

ここに画像の説明を入力

背景画像を正しいサイズに設定するにはどうすればよいですか?

ありがとう

4

1 に答える 1

3

stretchableImageWithLeftCapWidth:topCapHeight:非推奨です。resizableImageWithCapInsets:代わりに使用してください。

これは機能するはずです:

UIImage *buttonImage = [[UIImage imageNamed:@"btn_back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 10, 1, 10)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
于 2012-05-08T17:49:01.260 に答える