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
答案 0 :(得分:79)
找到快捷方式以打开“媒体库”选项卡:
⇧ + ⌘ + M
目前,官方文档并未涵盖Xcode 10 beta上的一些用例,因此我无法找到将媒体部分移至旧位置的方法。
答案 1 :(得分:78)
在 Xcode 10和Swift 4.2 中,只有Xcode IDE的代码完成功能(或自动完成)以旧的方式停止使用。这是新方法:
只需键入image literal
,它将完成并带有默认图标。
双击该图标,它将打开它右侧的媒体库。
只需选择您的图像,它就会像以前一样工作!
答案 2 :(得分:43)
答案 3 :(得分:19)
为了使其他人拥有使用 Swift Image Literals的遗留代码的好处,图像文字函数本身的代码和语法仍然有效,并且在带有Swift 4.2的Xcode 10中可以正常工作
。不需要回滚或重构使用这些图像文字的现有代码,它们仍然可以按以下方式使用:
imageView.image = #imageLiteral(resourceName: imageNameString)
仅停止了Xcode IDE的代码完成功能(或自动完成)。
更新
以前和当前版本或Xcode / Swift中的图像文字表示形式的差异:
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)
答案 7 :(得分:1)
答案 8 :(得分:0)
我正在使用Xcode 10 beta 4,但我遇到了同样的问题! 解决了使用旧的传递图片的方法
PizzaModel(
nome: "Marinara",
ingredienti: "Pomodoro, Aglio",
calorie: "729",
img: UIImage(named: "marinara")!
)