SwiftUI 简单实现RadioButton
2021/12/12 23:21:46
本文主要是介绍SwiftUI 简单实现RadioButton,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这篇文章是我自己在实现Radio按钮功能的时候,因为自己也是初学者,所以在GitHub上着了相关的案例,并进行了一定的改修,这里做一下学习记录。
import SwiftUI struct MyTmpView: View { let items: [String] = ["item 1", "item 2", "item 3", "item 4", "item 5"] //确定被选中的item @State var selectedID = "" var body: some View { VStack{ ForEach(items, id: \.self){item in RadioButton(id: item, selectedID: self.selectedID, callBack: self.radioButtonCallBack) } } } //将被选中的item的id赋值 func radioButtonCallBack(id: String) { self.selectedID = id } } ///每一个独立的Radio 组件 struct RadioButton: View { let id: String let selectedID: String let callBack: (String) -> () //初始化 init(id: String, selectedID: String, callBack: @escaping (String) -> ()){ self.id = id self.selectedID = selectedID self.callBack = callBack } var body: some View { Button(action: { self.callBack(self.id) }, label: { HStack(alignment: .center, spacing: 12, content: { Image(systemName: self.selectedID == self.id ? "checkmark.circle.fill" : "circle") .foregroundColor(self.selectedID == self.id ? Color.blue : Color.black) Text(self.id) .font(Font.system(size: 20)) .foregroundColor(Color.black) }) }) } } struct MyTmpView_Previews: PreviewProvider { static var previews: some View { MyTmpView() } }
- 效果图
这篇关于SwiftUI 简单实现RadioButton的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-10-05Swift语法学习--基于协议进行网络请求
- 2022-08-17Apple开发_Swift语言地标注释
- 2022-07-24Swift 初见
- 2022-05-22SwiftUI App 支持多语种 All In One
- 2022-05-10SwiftUI 组件参数简写 All In One
- 2022-04-14SwiftUI 学习笔记
- 2022-02-23Swift 文件夹和文件操作
- 2022-02-17Swift中使用KVO
- 2022-02-08Swift 汇编 String array
- 2022-01-30SwiftUI3.0页面反向传值