实战需求
经典Picker效果与iOS系统界面有不一样,那么如何将Picker设置为系统原生效果呢?
本文价值与收获
看完本文后,您将能够作出下面的界面
看完本文您将掌握的技能
- 掌握background基础使用
- 掌握ignoresSafeArea基础使用
- 掌握pickerStyle和WheelPickerStyle基础使用
基础知识
background(_:alignment:)
将给定视图分层放置在该视图之后。
func background<Background>(_ background: Background, alignment: Alignment = .center) -> some View where Background : View
参量
- backgroud 背景
在该视图后面绘制的视图。 - aligment对准
用于定位背景视图的中心默认值的对齐方式。
使用教程
需要将一个视图放置在另一个视图之后时,请使用background(_:alignment :),并且背景视图可以选择与最前面的视图的指定边缘对齐。下面的示例创建两个视图:最前视图和DiamondBackground视图。 “最前”视图使用DiamondBackground视图作为“最前”视图的VStack中图像元素的背景。
struct DiamondBackground: View {
var body: some View {
VStack {
Rectangle()
.fill(Color.gray)
.frame(width: 250, height: 250, alignment: .center)
.rotationEffect(.degrees(45.0))
}
}
}
struct Frontmost: View {
var body: some View {
VStack {
Image(systemName: "folder")
.font(.system(size: 128, weight: .ultraLight))
.background(DiamondBackground())
}
}
}
ignoresSafeArea
将视图扩展到其安全区域之外。
func ignoresSafeArea(_ regions: SafeAreaRegions = .all, edges: Edge.Set = .all) -> some View
返回值
安全区域得到了新的扩展。
参量
regions
从安全区域中删除的矩形的种类应忽略(即重新添加到新子视图的安全区域中)。edges
如果视图的边缘可能会开始,则该边缘中未包含的任何边缘都将保持不变,即使该边缘与中列出的安全区域邻接regions。