0

我正在尝试使用 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 设置为适当的值,但我正在阅读文档,似乎只能保留边缘而不是中心,女巫似乎是我需要做的事情。

有什么办法可以保留中心而不是边缘?如果不是,我必须生成多少尺寸才能使 iOS 不会拉伸 PNG?

非常感谢

4

1 回答 1

0

你能用这个方法吗

- (UIImage *)backButtonBackgroundImageForState:(UIControlState)state
    barMetrics:(UIBarMetrics)barMetrics

检索后退按钮的背景图像,检索其size属性,然后使用它的大小来制作您的自定义图像?

于 2012-06-17T20:34:19.743 回答