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

标签 ios objective-c uiimage

我是 Objective C 的初学者。
我正在尝试向 Storyboard添加一个按钮。单击时,按钮的背景将更改为另一个图像。但是,我尝试使用以下方法获取背景图片:

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

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

images
codes

最佳答案

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

改变:

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

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

关于ios - 使用 UIImage imageNamed : @"cardback" 时无法获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33796535/

相关文章:

ios - 如何更改 iOS 的小数位数?

ios - presentViewController 不显示呈现 View Controller 上的所有元素

objective-c - 什么是 NSCache?

objective-c - 将文本字段中的数据插入 SQLite 数据库

ios - 使用 segue 传递 UIImage

uiimage - Auto Scaling 在 Xcode 10 xcasset 图像属性中做什么

ios - iOS 应用程序可以在后台收到内存警告吗?

ios - 键盘不会关闭

ios - 如何在自定义单元格中添加动态附加输入字段的约束

iphone - 是否可以为 UIImage 设置动画?