Как создать иерархическое представление с вложенными дочерними представлениями в SwiftuiIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как создать иерархическое представление с вложенными дочерними представлениями в Swiftui

Сообщение Anonymous »

Как это сделать с помощью Swiftui
Я пытался создать этот дизайн в Swiftui, и он тоже похож, но я не думаю, что этот подход является более чистым. Я прикрепляю свой код ниже.
struct NewShapeView: View {
let Properties: [Property]

Код: Выделить всё

var body: some View {
ForEach(properties) { property in
VStack(alignment: .leading, spacing: 0) {
ForEach(property.zones.indices, id: \.self) { index in
LineView(zoneName: property.zones[index].name)
SubView(showVerticalLine: index != property.zones.indices.last)

}
}
}
}
struct LineView: View {
let ZoneName: String

Код: Выделить всё

var body: some View {
HStack(alignment: .bottom, spacing: 0) {
Rectangle().frame(width: 1, height: 40)
Rectangle().frame(width: 40, height: 1)
Text(zoneName)
}
}
}
struct SubView: View {
var showVerticalLine: Bool

Код: Выделить всё

var body: some View {
HStack(spacing: 0) {
if showVerticalLine {
Rectangle().frame(width: 1, height: 40) // Extend the line through SubView
}
Spacer().frame(width:  32, height: 36) // Adjust the spacer width to align with the previous line
Image(systemName: "speaker.wave.2.fill")
Text("Some Paradise - L’impératrice")
.font(.subheadline)
.foregroundColor(.gray)
}
}
Я новичок и работаю над своим первым производственным приложением SwiftUI. Любые предложения и помощь приветствуются.
Заранее спасибо.
Я попробовал нарисовать вертикальную линию на границе подпредставления зоны до тех пор, пока в массиве не будет найдено последнее представление.Я ожидаю более чистого подхода.

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-swiftui
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»