如何将图像置于UIBarButtonItem中心?

时间:2014-03-18 08:01:34

标签: ios uiimage uibarbuttonitem

我有@2x图像,其中{50,50}正方形,如下面的蓝色矩形所示。现在,我需要在UIBarButtonItem的按钮中创建此图像中心,该按钮具有更大的矩形(如下面的红色矩形)。红色箭头表示可拉伸区域。

image

我尝试了-imageWithAlignmentRectInsets:-resizableImageWithCapInsets:,但它显示错误的绘图。

如何将图像置于自定义栏按钮项目的按钮中心?


更新

现在,我有一个修改过的图像,原始图像周围有1个透明像素(@ 1x)。但仍然不知道如何实现我的目标。

modified icon

图标已按水平和垂直方向缩放(如下所示)以填充按钮。

reveal

我想将按钮中的图标居中,而不是填充。

我尝试了以下方法,但无用:

// (1) use content mode
button.imageView.contentMode = UIViewContentModeCenter;

// (2) alignment
resizedImage = [image imageWithAlignmentRectInsets:UIEdgeInsetsMake(1, 1, 1, 1)];

// (3) resize
resizedImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)];

// After all, assign the image to the background image for the button
[button setBackgroundImage:resizedImage forState:UIControlStateNormal];

1 个答案:

答案 0 :(得分:0)

确保图像的大小正好是20 * 20像素。条形项目上的文件说:

条形图上显示的图像来自此图像。如果此图像太大而无法放在条形图上,则会缩放以适合该图像。通常,工具栏和导航栏图像的大小为20 x 20磅。

希望这会有所帮助.. :)