SwiftUI 替换UISegmentController和SegmentController的Picker分段控制器

效果图:


截屏2020-09-03 10.08.13.png
import SwiftUI

struct ContentView: View {
    let personArr: Array<String> = ["小学", "初中", "高中", "大学", "社会人"]
    @State var selectedIndex = 0
    var body: some View {
        VStack{
            Text(personArr[selectedIndex])
            Picker(selection: $selectedIndex, label: Text("")) {
                ForEach(0 ..< personArr.count) { index in
                    Text(self.personArr[index])
                }
            }
            .pickerStyle(SegmentedPickerStyle())
            .padding()
            .onReceive([self.selectedIndex].publisher.first()) { (value) in
                //获取到当前点击的下标 do something
                print(value)
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。