尝试使用可调整大小的图像设置自定义backBarButtonItem图像/难度

时间:2013-04-30 15:35:57

标签: ios uinavigationcontroller uibarbuttonitem uinavigationitem

我正在尝试替换我的应用中UINavigationControllers使用的默认backBarButtonItem图像。我想使用下面的图像(实际上我使用的是白色箭头,但是这里不会显示白色背景):

enter image description here

我的图像宽60像素,高33像素,包括我想用来保持箭头拉得太宽的箭头周围的空白空间缓冲区。

我已将以下代码添加到AppDelegate.m

UIImage *barButtonImage = [[UIImage imageNamed:@"icon-navbar-backbutton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0,27,0,0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:barButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

左侧插图设置为27点,因此箭头不会拉伸。但是当我运行代码时,我在导航栏中得到以下结果:

enter image description here

为什么我在backBarButtonItem的末尾获得额外的白色部分?

1 个答案:

答案 0 :(得分:1)

我认为你得到的结果是因为增加图像大小的默认模式是平铺。所以,你正在平铺你的箭头右边的一些白色部分和一些黑色。你需要在右边添加足够的插图,让你进入图像的白色部分,这样唯一的拼贴就是箭头的直线部分。