我目前正在尝试创建一个页面,Picker其中包含三个相邻视图,HStack如下所示:
我制作了一个CustomPicker视图,将框架限制为 90 x 240,然后使用.compositingGroup()和.clipped()使每个选择器的可选区域不重叠。
自定义选择器.swift
import SwiftUI
struct CustomPicker: View {
@Binding var selection: Int
let pickerColor: Color
var numbers: some View {
ForEach(0...100, id: \.self) { num in
Text("\(num)")
.bold()
}
}
var stroke: some View {
RoundedRectangle(cornerRadius: 16)
.stroke(lineWidth: 2)
}
var backgroundColor: some View {
pickerColor
.opacity(0.25)
}
var body: some View {
Picker("Numbers", selection: $selection) {
numbers
}
.frame(width: 90, height: 240)
.compositingGroup()
.clipped()
.pickerStyle(.wheel) …Run Code Online (Sandbox Code Playgroud)