没有显示 Xcode 11测试版快捷 UI 预览

只是玩 Swift UI 基本应用程序和预览画布没有显示,即使我在画布模式。应用程序运行,我有这个小片段,我错过了什么?

#if DEBUG
struct ContentView_Previews : PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
54022 次浏览

要在 Xcode 预览和交互画布上的视图,请确保您的 Mac 运行的是 macos10.15 beta 版。

此外,如果您使用的 MacOS 系统早于 beta 版本,如10.14,您可以使用 Xcode 游乐场预览以下代码。

import PlaygroundSupport
import SwiftUI


struct ContentView : View {
var body: some View {
Text("Hello World")
}
}
PlaygroundPage.current.liveView = UIHostingController(rootView: ContentView())

在 Xcode,要预览并与画布上的视图交互,请确保您的 Mac 运行在 Catalina MacOS上。

Https://developer.apple.com/tutorials/swiftui/creating-and-combining-views

请在下面的 URL 中查看苹果文档 Https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_2_release_notes

Xcode 11beta 支持使用 SwiftUI 进行开发。

注意

SwiftUI 开发工具只有在 macOS 上运行时才可用 Catalina 10.15测试版。

检查这个 xcode _ 11 _ beta _ 5 _ release _ note https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_5_release_notes

对于 Xcode 11 beta 5,预览版只能在 macOS Catalina 上使用 10.15 beta 5,只有 Xcode 11 beta 5支持在 macOS Catalina 10.15 beta 5上的预览

也许有人在找这个: Editor -> Canvas (Alt + Command + Enter)

Xcode 11 Beta 6中,对于没有设置特定标志的视图,存在一个已知的问题和解决方案(见下文)。

如果这适用于您,并且您无法设置相应的标志,那么您可能需要删除 ContentView_Previews周围的 #if debug标志,直到问题在未来的 Xcode 版本中得到解决。

参见 Xcode 11 Beta 6发行说明:

在没有为 OTHER_SWIFT_FLAGS设置 -DDEBUG并封装在 #if DEBUG中的项目中定义的预览提供程序不会显示在画布中。例如,在 Objective-C 应用程序中就发生了这种情况,这些应用程序从来没有机会指定 OTHER_SWIFT_FLAGS。(51138834)

解决方法: PreviewProvider声明周围删除 #if DEBUG#endif

要打开预览画布,只需转到 Editor -> Canvas

或者做 Alt + Command + Enter

如果您的 macOS 版本低于10.15,您将得到以下错误

enter image description here

更新 mac 并尝试同样的操作。

来自编辑:

编辑器的右上角,然后:

enter image description here


菜单上的

Editor -> Canvas

enter image description here


走捷径

打开画布

⌥ option + ⌘ command + ↩ return

刷新画布

⌥ option + ⌘ command + P


关于 macOS 的说明

在 mac 环境中,你可以在 帮助菜单下搜索任何菜单选项,然后它会打开你正在寻找的确切的菜单路径。

例如,搜索 可以vas 会得到以下结果:

enter image description here

我正在 Catalina 10.15.7上运行 Xcode 12.2,我不仅需要确保 Canvas 被选中,还需要从 Editor 菜单中选择 Create Preview。

Xcode Editor menu

我已经重新启动了 Xcode 和机器,它对我很有用。 您可以对许多问题尝试此方法。

Alt + Command + Enter

会解决这个问题