我有这个ObjC代码:
[self.myButton setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@-button", self.myObject.name]]
forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
这适用于以下组合:
但是,当我将一个项目的一个类移植到Swift时 - 一个与此代码中发生的任何事情无关的类 - 图像不会显示在iOS 7.1的XCode 6中.它适用于XCode 6和iOS 8.
我完成了将整个项目移植到Swift,所以现在代码看起来像:
self.myButton.setBackgroundImage(
UIImage(named:self.myObject.name + "-button"),
forState: UIControlState.Normal
)
Run Code Online (Sandbox Code Playgroud)
它在iOS 7.1上仍然不高兴.仍然没有图像.(虽然自定义图标有效.)是的,我知道这只是测试版软件,它可能只是一个错误...?但我只是想知道是否有人有解决方案或见解.
我只用一个星期左右的XCode和ObjC前开始(惊喜!ObjC现在已经过时!),所以它可能是我失去了一些东西,但因为它工作在ObjC,和斯威夫特+ iOS8上,它看起来像它可能是一个错误.
小智 9
我设法通过不使用资产库来存储我的图像来克服这个问题.
使用"旧样式命名"(如Image.png和Image@2x.png)将图像添加到项目中,然后加载它们,文件名中没有任何扩展名,如下所示:
let myImage = UIImage(named:"Image")
Run Code Online (Sandbox Code Playgroud)
我猜你正在模拟器上测试它。确保所需的图像已复制到 7.1 包中。为此,请检查copy resources bundle构建阶段或手动检查不同模拟器的应用程序包~/Library/Application Support/iPhone Simulator/。
| 归档时间: |
|
| 查看次数: |
13199 次 |
| 最近记录: |