我在ios5.1和ios6.0上有两种不同的行为
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:offBackButton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

在iOS 6.0上

在iOS 5.1上??
是不是有什么地方我做得不好?
发布于 2013-01-12 00:05:04
您需要使用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足够聪明,可以确定图像大小并根据它进行拉伸。
https://stackoverflow.com/questions/13710593
复制相似问题