我正在尝试使用iOS 5 UIAppearance应用程序接口自定义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不拉伸它呢?
非常感谢
发布于 2012-06-18 04:34:20
你能用这个方法吗?
- (UIImage *)backButtonBackgroundImageForState:(UIControlState)state
barMetrics:(UIBarMetrics)barMetrics要检索back按钮的背景图像,请检索其size属性,然后使用该属性作为大小来创建自定义图像?
https://stackoverflow.com/questions/11073723
复制相似问题