使用 UIImage imageNamed 时无法获取对象:@"cardback"

Can't get object while using UIImage imageNamed:@"cardback"

我是 Objective C 的初学者。
我正在尝试向故事板添加一个按钮。单击时,按钮的背景将更改为另一个图像。但是,我尝试使用 :

获取背景图片
[sender setBackgroundImage: [UIImage imageNamed:@"cardback.jpg"] forState:UIControlStateApplication];

看来 [UIImage imageNamed:@"cardback.jpg"] 没有为我获取图像对象。


codes

您使用了错误的控件状态标志。您需要使用 UIControlStateNormal 而不是 UIControlStateApplication 来获得所需的结果。有关详细信息,请参阅 UIControlState。此外,您不需要指定图像扩展名(因为您是从资产目录加载图像),因此从代码中删除 .jpg

变化:

[sender setBackgroundImage: [UIImage imageNamed:@"cardback.jpg"] forState:UIControlStateApplication];

[sender setBackgroundImage: [UIImage imageNamed:@"cardback"] forState:UIControlStateNormal];