【发布时间】:2021-01-06 18:43:18
【问题描述】:
我在我的 Xcode 项目中创建了一个仅使用 UIKit 的新 SwiftUI 视图。我正在尝试在 SwiftUI 中为应用程序创建新屏幕,然后将它们嵌入到 ViewControllers 中。 Xcode 在 SwiftUI 文件中自动生成结构和预览。但随后几乎每一行都会出错,就好像 Xcode 无法将 SwiftUI 导入文件一样。
我有:在 SceneDelegate.swift 中正确设置窗口场景,从 info.plist 中删除故事板键,在项目构建设置中打开预览,确保我的项目针对 iOS 13.0,清理派生数据。
我在 SceneDelegate 中的设置并导入了 SwiftUI:
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
window.rootViewController = UIHostingController(rootView: ProfilePage())
self.window = window
window.makeKeyAndVisible()
}
// ERROR: Generic class 'UIHostingController' requires that 'ProfilePage' conform to 'View'
我的代码:
import SwiftUI
struct ProfilePage: View {
var body: some View {
Text("Hello, World!")
}
}
struct ProfilePage_Previews: PreviewProvider {
static var previews: some View {
ProfilePage()
}
}
【问题讨论】:
-
尝试使用
SwiftUI.View而不是View。 -
@MohammadRahchamani 您可以将此作为答案发布,它有效,谢谢