【发布时间】:2021-12-28 19:55:26
【问题描述】:
我尝试构建一个多组件选择器,一开始我遇到了两个组件之间的重叠视图,这使得与 UI 交互变得困难,然后我找到了解决问题的“.compositingGroup()”属性模拟器,但在真实设备上我遇到了同样的问题,然后我尝试了许多解决方案,比如将两个选择器嵌入“几何阅读器”并从中设置框架,但它也不起作用,所以请如果有人知道如何修复这个问题我很高兴知道。
代码
ZStack {
background
HStack(spacing: 16) {
hoursPicker
minutesPicker
}
}
private var hoursPicker: some View {
HStack(spacing: 8) {
Picker("Select Hour(s)", selection: $selectedHours) {
ForEach(hoursRange, id: \.self) {
Text("\($0)")
.toolBarViewNormalStyle()
}
}
.frame(width: 32, height: 32, alignment: .center)
.clipShape(RoundedRectangle(cornerRadius: 8, style: .continuous))
.compositingGroup()
.labelsHidden()
.pickerStyle(.wheel)
Text("Hr")
.toolBarViewNormalStyle()
}
}
private var minutesPicker: some View {
HStack(spacing: 8) {
Picker("Select Minute(s)", selection: $selectedMinutes) {
ForEach(minutesRange, id: \.self) {
Text("\($0)")
.toolBarViewNormalStyle()
}
}
.frame(width: 32, height: 32, alignment: .center)
.clipShape(RoundedRectangle(cornerRadius: 8, style: .continuous))
.compositingGroup()
.labelsHidden()
.pickerStyle(.wheel)
Text("Min")
.toolBarViewNormalStyle()
}
}
【问题讨论】: