首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序协议不适用于视图的PreviewProvider

应用程序协议不适用于视图的PreviewProvider
EN

Stack Overflow用户
提问于 2020-08-14 20:01:09
回答 1查看 73关注 0票数 1

下面的代码可以在ios13中运行。

代码语言:javascript
复制
import SwiftUI

struct ContentView: View {
    var body: some View {
        LoginView()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

但当我尝试使用ios14功能应用程序协议时,预览报告require the ContentView confirm to View错误。

代码语言:javascript
复制
import SwiftUI

@main
struct ContentView: App {
    var body: some Scene {
        WindowGroup {
            LoginView()
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-08-14 20:04:28

这是因为在您的新版本中,ContentView不再声明为View,而是声明为App (为避免混淆,我建议将其重命名为ContentApp )。

预览的签名是:

代码语言:javascript
复制
static var previews: some View

这意味着它需要返回一些视图(而不是一些应用程序)。

在您的示例中,您可能希望在预览中显示LoginView

代码语言:javascript
复制
struct LoginView_Previews: PreviewProvider {
    static var previews: some View {
        LoginView()
    }
}

或者如果你想展示ContentView

代码语言:javascript
复制
@main
struct ContentApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

struct ContentView: View {
    var body: some View {
        LoginView()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63412382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档