UIImage不使用Swift显示

Jos*_*ark 23 uiimage ios swift

用Swift编写的用于显示UIImages的代码可以在iOS 8.0模拟器中运行,但不能在运行IOS 7.0的手机上运行.

let image1 = UIImage(named: "img1")
let imageview = UIImageView(image: image1)
self.view.addSubview(imageview)

let image2 = UIImage(named: "img2")
let button = UIButton(frame: CGRect(origin: CGPoint(x: 0, y: 100), size: image2.size)
button.setImage(image2, forState: UIControlState.Normal)
self.view.addSubview(button)
Run Code Online (Sandbox Code Playgroud)

图像位于正确的位置,具有正确的大小和有效的引用,除了在运行iOS 8的模拟器上之外,它们只是没有显示.

这对其他人来说是个问题吗?

编辑: 从Images.xcassets删除,清理项目和将文件复制到包本身似乎对我有用.

小智 9

要显示图像,您必须按以下方式更改代码

let image1 = UIImage(named: "img1.jpg")
let imageview = UIImageView(image: image1)
self.view.addSubview(imageview)

let image2 = UIImage(named: "img2.jpg")
let button = UIButton(frame: CGRect(origin: CGPoint(x: 0, y: 100), size: image2.size)
button.setImage(image2, forState: UIControlState.Normal)
self.view.addSubview(button)
Run Code Online (Sandbox Code Playgroud)

请记住,swift不支持.png格式图像,它支持.jpg格式.

  • Swift支持在游乐场,如果它是PNG,你需要让image1 = UIImage(名字:"img1"),如果它是jpg,你需要让image1 = UIImage(名字:"img1.jpg") (6认同)
  • PNG在Swift中工作,对我来说不在Images.xcassets中. (3认同)

MrM*_*ins 5

您将检查图像是否已添加到您的框架中,如果未选中,您将无法加载资源,但如果您选中它,则将加载图像在此输入图像描述


Ben*_*Ben 3

我在 iOS 8 模拟器和我的 iOS 7 设备上尝试了你的代码,它做了它应该做的事情。所以不,就我而言,我没有看到问题。

我将 img1 更改为 img1.JPG(文件名),将 img2 更改为 img2.png。我将图像直接复制到视图控制器所在的文件夹中。

  • 啊..所以只有在从 images.xcassets 中删除图像后才能将图像复制到主文件夹。我猜 xcassets 是问题所在。谢谢您的帮助 (2认同)