我正在尝试替换我的应用中UINavigationControllers使用的默认backBarButtonItem图像。我想使用下面的图像(实际上我使用的是白色箭头,但是这里不会显示白色背景):
我的图像宽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点,因此箭头不会拉伸。但是当我运行代码时,我在导航栏中得到以下结果:
为什么我在backBarButtonItem的末尾获得额外的白色部分?
答案 0 :(得分:1)
我认为你得到的结果是因为增加图像大小的默认模式是平铺。所以,你正在平铺你的箭头右边的一些白色部分和一些黑色。你需要在右边添加足够的插图,让你进入图像的白色部分,这样唯一的拼贴就是箭头的直线部分。