我正在尝试使用iOS 5 UIAppearance API自定义UINavigationBar的后退按钮。我想要使用的图像是:https://www.dropbox.com/s/ce83rw0e3vs9dwo/bt-back.png,代码如下:
// Customize back button items differently
UIEdgeInsets aInset = UIEdgeInsetsMake(10, 10, 10, 10);
UIImage *buttonBack30 = [[UIImage imageNamed:@"bt-back.png"] resizableImageWithCapInsets:aInset];
UIImage *buttonBack24 = [[UIImage imageNamed:@"bt-back.png"] resizableImageWithCapInsets:aInset];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack30 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack24 forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone];
现在,该代码的输出如下:http://i.imgur.com/X6QBK.png
我知道我必须将UIEdgeInsets设置为正确的值,但我正在阅读文档,似乎只能保留边缘而不是中心,这似乎是我需要做的事情
有没有办法保护中心而不是边缘?如果没有,我生成PNG的尺寸是什么,所以iOS不会拉伸它?
非常感谢
答案 0 :(得分:0)
你能使用方法
吗?- (UIImage *)backButtonBackgroundImageForState:(UIControlState)state
barMetrics:(UIBarMetrics)barMetrics
检索后退按钮的背景图片,检索其size
属性,然后使用此尺寸来制作自定义图像?