Не удается добавить субтитры к элементу списка внутри ForEach в Swift UI - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь составить простой список городов в Swift UI, и мне нужен элемент List, содержащий две строки: заголовок и подзаголовок.

var body: some View {
    NavigationView {
        Form {
            Section(header: Text("Cities - \(arrayDisplayedCount) results")) {

                if self.searchTerm.isEmpty {
                    List {
                        ForEach(range, id: \.self) {
                            VStack {
                                Text("Header \($0.name)").fontWeight(.bold)
                                Text("Subheader").fontWeight(.regular)
                            }
                        }
                    }
                }
            }
        }
    }
}

Этот код компилируется, если я удаляю VStack и второй Текст, таким образом, он не компилируется. Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

вот полный тестовый код, который я использую:

import SwiftUI

struct ContentView: View {

var body: some View {
    NavigationView {
        Form {
            Section(header: Text("Cities - some arrayDisplayedCount results")) {
                if true {
                    List {
                        ForEach(0..<3, id: \.self) { x in
                         //   Text("\($0)")  // if you only have this, great no need for "x in"
                            VStack {  // because you have this VStack, you need "x in" and you cannot use $0
                                Text("\(x)")
                                Text("Header").fontWeight(.bold)
                                Text("Subheader").fontWeight(.regular)
                            }
                        }
                    }
                }
            }
        }
    }
}
}
1 голос
/ 20 апреля 2020

попробуйте это:

ForEach(range, id: \.self) { _ in
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...