1

我在工具栏中添加了两个 UIBarButtonItems。

我添加的第一个使用

initWithImage:style:target:action:

对于第二个,我创建了一个 UIButton,其中包含一个 UIImageView,其图像设置为与第一个示例中使用的相同。我还使图像视图比按钮略小,以便为标签留出空间。然后我创建了 BarButtonItem

initWithCustomView:

我得到了非常不同的图像渲染:

在此处输入图像描述

这里发生了什么,如何让图像在第二个示例中按预期显示?

注意:我实际上以相反的顺序添加了按钮 -​​ 在上图中,第一个按钮使用的是 initWithCustomView:

4

1 回答 1

2

根据initWithImage:style:target:action 的文档

条形图上显示的图像来自该图像 [...] 源图像中的 alpha 值用于创建图像 - 不透明值被忽略。

因此,图像被用作蒙版。这是您通常在工具栏中看到的行为,但也可以在此处使用。如果您希望在栏上使用图像像素,我想您需要使用自定义视图。

于 2012-04-26T20:33:07.260 回答