Ios6 挫折按钮背景图像在iOS5.1上的磨损行为

Ios6 挫折按钮背景图像在iOS5.1上的磨损行为,ios6,uibarbuttonitem,back-button,ios5.1,uiappearance,Ios6,Uibarbuttonitem,Back Button,Ios5.1,Uiappearance,我在ios5.1和ios6.0上有两种不同的行为 [[UIBarButtonItem appearance] setBackButtonBackgroundImage:offBackButton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 在iOS 6.0上 在iOS 5.1上 是否有我做得不好的地方?您需要使用UIEdgeInsets指定可拉伸的UIImage,如下所示: UIImage *normalSt

我在ios5.1和ios6.0上有两种不同的行为

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:offBackButton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
在iOS 6.0上

在iOS 5.1上


是否有我做得不好的地方?

您需要使用
UIEdgeInsets
指定可拉伸的
UIImage
,如下所示:

UIImage *normalStateImage = [[UIImage imageNamed:@"image"] resizableImageWithCapInsets:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0)];
UIImage *pressedStateImage = [[UIImage imageNamed:@"image-pressed"] resizableImageWithCapInsets:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0)];

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:normalStateImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:pressedStateImage forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];

iOS 6.x足够聪明,可以确定图像大小并根据图像大小进行拉伸。

I在另一方面,在5.0版本中,图像从底部剪切。更改插图不会使其再次变大(