我改变UIBUtton背景图片的方式有什么不对?

时间:2012-10-10 11:03:15

标签: objective-c ios uibutton png

让我们看看这张照片:

enter image description here

左箭头显示界面生成器中的按钮背景已更改,但在模拟器(和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]无法加载带有标识符

的包中nib引用的“filter-bar.png”图像

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

enter image description here

4 个答案:

答案 0 :(得分:4)

如果您想在按钮上使用背景图像,请使用背景图像选项上方的图像选项。

答案 1 :(得分:3)

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

[self.ChangeFilter setImage:imgFilterBarforState:UIControlStateNormal|UIControlStateHighlighted];

答案 2 :(得分:2)

您可以在按钮上添加一个小点以查看名称。检查不同的颜色和尺寸,因为这可能你看不到它。如果无法做到这一点,请在按钮

中添加uilabel

答案 3 :(得分:1)

肯德尔在Could not load the image referenced from a nib in the bundle running on device中给出的答案给我带来了启发。

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

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