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

Posted

技术标签:

【中文标题】尝试使用可调整大小的图像设置自定义 backBarButtonItem 图像/困难【英文标题】:Trying to setup a custom backBarButtonItem image / difficulty with resizable image 【发布时间】:2013-04-30 15:35:56 【问题描述】:

我正在尝试替换 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 末尾有多余的白色部分?

【问题讨论】:

【参考方案1】:

我认为您会得到这个结果,因为增加图像大小的默认模式是平铺。因此,您将一些白色部分和一些黑色部分平铺在箭头的右侧。您需要在右侧添加足够多的插图才能进入图像的白色部分,这样唯一平铺的就是箭头的直线部分。

【讨论】:

好吧,平铺是我观察到的行为,但我不知道发生了什么。我认为图像应该被拉伸。这个有道理,我去测试一下。

以上是关于尝试使用可调整大小的图像设置自定义 backBarButtonItem 图像/困难的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 可调整大小的图像的固定部分设置?

如何使图像可调整大小的裁剪框

鼠标可调整大小,可拖动的小部件

使用 css 围绕 div 自定义覆盖 - jQuery 可调整大小的自定义句柄

如何在这样的代码中绘制可调整大小的 UIImage?

带有标题的 CSS 可调整大小的图像