Тип «Background.Type» не может соответствовать «View»; только типы struct / enum / class SwiftUI - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть 2 файла swift:

ContentView.swift

struct ContentView: View {
    var body: some View {
        NavigationView {
            ZStack(alignment: .leading) {

                Color.white.edgesIgnoringSafeArea(.all)

                SetBackground
            }
        }
    }
}

и созданный мной файл представления swiftui:

Background.swift

struct SetBackground: View {
    var body: some View {
        GeometryReader { geometry in
            Capsule()
                .foregroundColor(.yellow)
                .frame(width: geometry.size.width * 1.7)
                .offset(x: geometry.size.width * -0.1 , y: geometry.size.height * -0.9)
        }
    }
}

Когда я пытаюсь вызвать файл Background в 1-м коде, я получаю ошибку: Type 'SetBackground.Type' cannot conform to 'View'; only struct/enum/class types can conform to protocols

Почему это так и как я могу это исправить?

Спасибо

1 Ответ

0 голосов
/ 15 апреля 2020

Вы должны использовать View, инициализируя объект, а не используя тип SetBackground.

struct ContentView: View {
    @State var dataStore = [0, 1, 2]
    @State var a = ""

    var body: some View {
        NavigationView {
            ZStack(alignment: .leading) {

                Color.white.edgesIgnoringSafeArea(.all)

                SetBackground() <---- add "()"
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...