Xcode 10-图像文字不再可用

时间:2018-07-18 08:40:31

标签: xcode image beta xcode10 image-literals

  

Xcode 10发行说明:“已在Xcode 10中删除了Swift图像文字的代码完成功能”

所以我不能在代码中添加图像(并运行较旧的项目)不是一个错误。从现在开始,如何在代码中添加图像,因为仅键入UIImageView(image:将不接受任何png或jpeg。

let cellImage: UIImageView = {
    let image = UIImageView(image: ???))

    return image
}()

系统:macOS Mojave
Xcode:Xcode 10 Beta 4

9 个答案:

答案 0 :(得分:79)

找到快捷方式以打开“媒体库”选项卡:

+ + M

目前,官方文档并未涵盖Xcode 10 beta上的一些用例,因此我无法找到将媒体部分移至旧位置的方法。

答案 1 :(得分:78)

Xcode 10和Swift 4.2 中,只有Xcode IDE的代码完成功能(或自动完成)以旧的方式停止使用。这是新方法:

只需键入image literal,它将完成并带有默认图标。

enter image description here

双击该图标,它将打开它右侧的媒体库。

enter image description here

只需选择您的图像,它就会像以前一样工作!

enter image description here

答案 2 :(得分:43)

您可以在Xcode中使用媒体库将图像文字添加到您的代码中:

Show XCode media library

然后从库中选择图像并将其拖放到您的代码中

Choose image from library

它将创建图像文字

答案 3 :(得分:19)

为了使其他人拥有使用 Swift Image Literals的遗留代码的好处,图像文字函数本身的代码和语法仍然有效,并且在带有Swift 4.2的Xcode 10中可以正常工作

不需要回滚或重构使用这些图像文字的现有代码,它们仍然可以按以下方式使用:

imageView.image = #imageLiteral(resourceName: imageNameString)

仅停止了Xcode IDE的代码完成功能(或自动完成)。


更新

以前和当前版本或Xcode / Swift中的图像文字表示形式的差异:

image = #imageLiteral(resourceName: "flower.jpg")

image = #imageLiteral(resourceName: "flower.jpg")

正如摘录所示,图像文字是用实际图像的缩略图在线表示的。但是,现在仅在其位置使用通用图标。据推测,这将通过消除处理和显示嵌入式缩略图的开销来减轻IDE的负担。

答案 4 :(得分:10)

提示:要在代码中添加文字图像后修复三种分辨率。
1.移除另一张,仅保留一张图片
2.用文字图像注释您的行代码,然后在代码中显示文字图像,例如:#imageLiteral(resourceName: "image@2x.png"
3.在resourceName值中,删除@2x和文件扩展名,如.png,仅保留图像名称:#imageLiteral(resourceName: "image")
4.取消注释!图片将以代码显示。

答案 5 :(得分:4)

在Xcode 11中,媒体库现在位于“视图”>“显示库”(SHIFT + CMD + L)下。

答案 6 :(得分:1)

  • 使用UIImage(imageLiteralResourceName:'imageName')不会返回可选值,并且效果很好

答案 7 :(得分:1)

如果有人使用 xCode11 ,则可以使用以下选项查找所有媒体:

enter image description here

enter image description here

答案 8 :(得分:0)

我正在使用Xcode 10 beta 4,但我遇到了同样的问题! 解决了使用旧的传递图片的方法

PizzaModel(
            nome: "Marinara",
            ingredienti: "Pomodoro, Aglio",
            calorie: "729",
            img: UIImage(named: "marinara")!
)