SwiftUI-具有列表的分段控制

时间:2019-06-20 16:30:22

标签: swiftui xcode11

我正在尝试制作一个处理列表和/或Vstack的细分控件

我可以使用文本创建细分控件,但不能使用列表


import SwiftUI

struct MaterialSegmentControl : View {
    @State private var MaterialType = 0

    var body: some View {

        NavigationView {

            VStack {
                SegmentedControl(selection: $MaterialType) {
                    Text("Style").tag(0)
                    Text("Text").tag(1)
                    Text("Arrange").tag(2)

                }
                Text("Value: \(MaterialType)")


            }
        }
    }
}

我如何拥有一个在列表和/或Vstack之间切换的细分控件?

1 个答案:

答案 0 :(得分:1)

是的!这很简单。像这样:

struct MaterialSegmentControl : View {
    @State private var MaterialType = 0

    var body: some View {

        NavigationView {

            VStack {
                SegmentedControl(selection: $MaterialType) {
                    Text("Style").tag(0)
                    Text("Text").tag(1)
                    Text("Arrange").tag(2)
                }

                if MaterialType == 0 {
                    List {
                        Text("Hi")
                        Text("\(MaterialType)")
                    }
                } else if MaterialType == 1 {
                    List {
                        Text("Beep")
                        Text("\(MaterialType)")
                    }
                } else {
                    List {
                        Text("Boop")
                        Text("\(MaterialType)")
                    }
                }
            }
        }
    }
}