У вас есть два ScrollView здесь. Вам нужно использовать один List
и поместить эти другие элементы в заголовок Section
. К сожалению, List
, похоже, не поддерживает заголовок для всего представления, как это делает UITableView
.
var body: some View {
List {
Section(header:
VStack(alignment: .leading) {
Text(self.person.name)
Text(self.person.email)
.font(.subheadline)
.padding(.top)
Text(self.person.about)
.foregroundColor(.secondary)
.padding()
}
) {
ForEach(self.friends, id: \.id) { friend in
Text(friend.name)
}
}
}
}
РЕДАКТИРОВАТЬ: Возможно, вы даже не ищете заголовок? В этом случае просто поместите желаемый контент выше ForEach
.
var body: some View {
List() {
Section {
VStack(alignment: .leading) {
Text(self.person.name)
Text(self.person.email)
.font(.subheadline)
.padding(.top)
Text(self.person.about)
.foregroundColor(.secondary)
.padding()
}
ForEach(self.friends, id: \.id) { friend in
Text(friend.name)
}
}
}
}
Вот результат с заголовком и без него:

