Xcode 8 图像完成

Posted

技术标签:

【中文标题】Xcode 8 图像完成【英文标题】:Xcode 8 Image Completion 【发布时间】:2016-09-21 08:14:18 【问题描述】:

在 Xcode 8 中,您可以在输入时自动完成图像。

问题是:为什么?

我尝试使用建议的结果初始化 UIImage,但它不起作用。

有人知道怎么用吗?

【问题讨论】:

我认为这只适用于它出现的游乐场。至少看起来是这样的。 您需要提供更多信息,也许可以分享周围的代码和Xcode版本。图像文字对我来说很好用,不仅在操场上。 这是我在 Xcode 中遇到的最烦人的特性。就像,“这是一个节省时间的方法......心理!” 我使用的是 Xcode 9 和 Swift 4,但在“intellisense”中看不到图像预览。 【参考方案1】:

Xcode 8 将自动识别您在资产目录中获得的任何图像,并在 UIImage 初始化程序中将它们作为建议提供。

所以基本上你需要做的只是以下(就像你在你的问题中所做的那样,但肯定有其他东西会打扰它):

let i = voiture // image name

然后,当您想设置图像时,只需使用i

在后台,它正在创建如下所示的代码:#imageLiteral(resourceName: "voiture.png")。但是在源代码编辑器中内联,您只会看到图像的文件名。 #imageLiteral 语法仅在 Swift 3 或更高版本上被识别。

Here 是一个演示 video 链接,我在其中执行此操作,here 是我创建的 示例项目 的链接。

注意,您需要点击智能感知建议,以便在代码中看到图像的缩略图,然后是图像名称。

更新 1

此功能保留在 Xcode 版本 9.0 beta 6 (9M214v)

更新 2

Xcode 11.2.1,这不再出现了。

【讨论】:

如果你看一下第二个屏幕截图,我遇到了编译器问题,我无法构建... 正如我在答案中所写的那样,一定有其他东西干扰它。你看我上传的视频了吗,和我做的一样。 Here 是我创建的项目的链接,尝试下载并运行它,看看它是否适合你。 您的示例和我的应用程序之间的唯一区别是您使用的是 Swift 3。所以我想就是这样 只是一个更新。当您在图像集中将设备设置为 iPad 时,图像文字不显示图像和图像名称。如果它设置为通用,那么它就可以工作。【参考方案2】:

图像文字已经是 UIImage,您无需将其传递给 UIImage 来初始化。

【讨论】:

呵呵 - 显然,Xcode 足够聪明,可以将类型推断为 UIImage 如果上下文允许,否则上面的代码会出现编译时错误。【参考方案3】:

我无法找到它的“官方”来源,但从我的个人测试来看,虽然自动完成功能在 Swift 2.3 和 Swift 3.0 项目中都有效,但图像文字只能在 Swift 3 项目中正常工作。

在 Swift 3 Playground 中尝试一下,您会发现它运行良好。

【讨论】:

是的,确认我在 Swift 2.3 项目中遇到错误。【参考方案4】:

我一直在使用这个功能。基本上,如果我有一个以“ic”开头的图像,我会输入let i =,然后输入ic。此时,Xcode 8 将显示图像下拉列表,然后我从列表中选择正确的图像。我从来没有费心实际输入UIImage(。除了使用图像的文件名之外,它的工作方式与自动完成代码类似。

在您的情况下,可能还有其他问题导致编译失败。

【讨论】:

以上是关于Xcode 8 图像完成的主要内容,如果未能解决你的问题,请参考以下文章

Swift - Xcode 8.3 自动完成未显示

swift 3 和 Xcode 8 中的完成处理程序错误

Xcode Ipad 模拟器背景图像拉伸

不使用 xcode 8 在苹果商店中显示构建

微众银行独立自主研发的OCR图像识别引擎系统完成投产2019年1月8日。

如何使 Xcode 4.4 调试控制台使用弹出窗口进行自动完成?