2

让我们看一下这张图片:

在此处输入图像描述

左箭头显示在 Interface Builder 中按钮背景已更改,但在模拟器(和 iPhone)上仍为白色。

右箭头显示我已更改背景图像。

那么背景图像怎么没有改变呢?

无论如何,该界面构建器的背景参数是什么?我问的原因是当您以编程方式设置背景图像时,您需要指定状态。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html

提示:图像太大,但您可以在 firefox 中使用 ctrl + 放大 :D

注意:我补充说:

  UIImage * imgFilterBar = [UIImage imageNamed:@"filter-bar.png"];
    [self.ChangeFilter setBackgroundImage:imgFilterBar forState:UIControlStateNormal|UIControlStateHighlighted];

在 viewDidLoad

它仍然不起作用。

我收到了这个警告:2012-10-10 18:29:59.929 BadgerNew[29833:c07] 无法加载从带有标识符的包中的笔尖引用的“filter-bar.png”图像

这是什么意思?我在做 [UIImage imageNamed:@"filter-bar.png"]; 正确吗?该文件在我的项目中。

在此处输入图像描述

4

4 回答 4

4

如果要在 Button 上使用背景图像,请使用背景图像选项上方的图像选项。

于 2012-10-10T11:16:58.363 回答
3

您是否尝试设置 UIButton 图像而不是 UIButton 背景图像?

[self.ChangeFilter setImage:imgFilterBarforState:UIControlStateNormal|UIControlStateHighlighted];
于 2012-10-10T11:17:56.750 回答
2

您可以为按钮添加标题以查看名称。检查不同的标题颜色和大小,因此您可能看不到标题。如果这不可能,请在按钮中添加 uilabel

于 2012-10-10T11:30:19.917 回答
1

Kendall 在无法加载从设备上运行的包中的 nib 引用的图像中的回答给我带来了启发。

问题是我使用参考文件夹(蓝色文件夹)。如果我这样做,我需要提及文件夹名称,这是一团糟。

所以我只是将整个内容复制到资源中。问题解决了。

于 2012-10-10T12:44:43.947 回答