SwiftUI中使用UISegmentControl控件

SwiftUI中使用UISegmentControl控件

IOS小彩虹2021-08-25 10:24:27210A+A-

在SwiftUI中官方把控件做了精简,造成有些在UIKit中使用的控件找不到了。这篇文章来看一下UIPickerView在SwiftUI中是怎么表示的。

了解了一些SwiftUI的基础知识以后,应该就知道有一个Picker控件,想要实现UISegmentControl的效果就要用到这个控件。

@State var platform = 1
    
var body: some View {
    VStack {
        Picker("平台名称", selection: $platform) {
            Text("支付宝").tag(1).navigationTitle("选择平台")
            Text("京东金融").tag(2)
        }
        .pickerStyle(SegmentedPickerStyle())
        
        Text("\(platform)")
    }
}

使用这段代码就可以得到一个UISegmentControl效果的Picker了。

其中关键部分是.pickerStyle(SegmentedPickerStyle()),pickerStyle是一个设置Picker样式的Modifier,SegmentedPickerStyle就是外型和UISegmentControl一摸一样的效果。

除了SegmentedPickerStyle以外,pickerStyle还有下面几种类型:

  • DefaultPickerStyle 在不同平台有不同的展现形式。iOS平台上和InlinePickerStyle相同都是滚轮样式;MacOS平台和MenuPickerStyle相同;tvOS平台上和SegmentedPickerStyle相同
  • InlinePickerStyle/WheelPickerStyle 滚轮样式
  • MenuPickerStyle 点击后Picker的text后弹出选项,有点类似于MenuController
  • RadioGroupPickerStyle MacOS上使用的,所有选项一字排开,每个前面都有一个复选框
  • SegmentedPickerStyle 上面说的模仿UISegmentControl的外形,使用这种style的时候,Picker的content只能是Text或者Image

到公众号【iOS开发栈】学习更多SwiftUI、iOS开发相关内容。

其他更多关于SwiftUI、iOS开发相关文章可以到我的公众号查看。

3个关于SwiftUI中TextField不得不看的知识点

详解SwiftUI数据流是怎么在View间传递的

在SwiftUI中使用ForEach和List模仿UITableView、UICollectionView

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1
本网站由 提供CDN/云存储服务

联系我们