You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SwiftUI中创建分段控件并读取其值?

嘿,我来给你演示怎么在SwiftUI里创建分段控件(Segmented Control),并且实时读取用户选中的值,直接上实用的实现方案:

在SwiftUI中实现分段控件并获取选中值

完整示例代码

struct ContentView: View { 
    @State private var favoriteColor = 0 
    var body: some View { 
        VStack { 
            // 创建Picker并绑定选中状态
            Picker(selection: $favoriteColor, label: Text("你最喜欢的颜色是什么?")) { 
                Text("红色").tag(0) 
                Text("绿色").tag(1) 
                Text("蓝色").tag(2) 
            }
            // 切换为分段控件样式
            .pickerStyle(SegmentedPickerStyle()) 
            // 实时展示当前选中的标记值
            Text("当前选中值:\(favoriteColor)")
        }
        .padding() // 添点内边距,让布局更舒服
    } 
}

关键部分解析

  • 状态绑定:@State private var favoriteColor = 0 是用来存储选中项标记的状态变量,初始值设为0对应第一个选项“红色”,双向绑定后,用户切换选项时这个变量会自动更新。
  • Picker配置:每个选项通过.tag()设置唯一的标识值,这个值的类型要和绑定的状态变量一致(这里是Int类型),这样Picker才能正确把选中状态同步到变量里。
  • 分段样式切换:.pickerStyle(SegmentedPickerStyle()) 是核心,它把默认的Picker样式转换成我们需要的分段控件外观。
  • 读取选中值:你可以直接通过favoriteColor变量获取当前选中的标记,比如示例里用Text展示出来,实际开发中你还可以根据这个值做更多逻辑,比如显示对应颜色的UI、触发网络请求等等。

内容的提问来源于stack exchange,提问作者Ravindranath Sawane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 19:18:13