gpt4 book ai didi

ios - .Clipped() 不适用于 Pickers SwiftUI

转载 作者:行者123 更新时间:2023-12-02 02:37:51 29 4
gpt4 key购买 nike

我需要创建一个具有 2 个 Pickers 和 2 个 DatePickers 的 View 。

为了避免它们相互重叠,我使用了.clipped()。但是,这不起作用。

我可以成功调整选择器的大小,但无法将“选择区域”限制为其框架大小。

这是我的代码:

VStack(spacing: 10) {
Picker(selection: self.$dayTypeSelectedIndex, label: Text("")) {
ForEach(0 ..< self.dayTypes.count, id: \.self) {
Text(self.dayTypes[$0])
.foregroundColor(Color.black)
}
}
.pickerStyle(SegmentedPickerStyle())
.labelsHidden()
.clipped()

Spacer()

Group {
DatePicker("", selection: self.$dateIntervalStart, displayedComponents: .hourAndMinute)
.labelsHidden()
.colorInvert()
.colorMultiply(Color.black)
.frame(maxHeight: 50)
.clipped()

Spacer()

Text("às")
.foregroundColor(Color.black)

Spacer()

DatePicker("", selection: self.$dateIntervalEnd, displayedComponents: .hourAndMinute)
.labelsHidden()
.colorInvert()
.colorMultiply(Color.black)
.frame(maxHeight: 50)
.clipped()
}

Spacer()

HStack {
Picker(selection: self.$tripNotificationDelta, label: Text("")) {
ForEach(0...60, id: \.self) {
Text($0 < 10 ? "0\($0)" : "\($0)")
.foregroundColor(Color.black)
}
}
.labelsHidden()
.frame(maxWidth: 50, maxHeight: 50)
.clipped()

Text("mins before trip")
.foregroundColor(Color.black)
}
}
}

我做错了什么?

我使用的是 XCode 12。此外,此界面是为未运行 iOS 14 的设备构建的。

谢谢!

最佳答案

所以,我明白了。只需将 .compositingGroup() 放在 .clipped() 之前即可。像这样的事情:

            DatePicker("", selection: self.$dateIntervalEnd, displayedComponents: .hourAndMinute)
.labelsHidden()
.colorInvert()
.colorMultiply(Color.black)
.frame(maxHeight: 50)
.compositingGroup()
.clipped()

关于ios - .Clipped() 不适用于 Pickers SwiftUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64049588/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com