试图将isMomentary of Picker SegmentedPickerStyle设为SwiftUI。
UIKit UISegmentedControl有一个Bool isMomentary。
寻找如何在SwiftUI中实现相同的功能
发布于 2021-04-19 15:02:34
这是我如何处理它的一个例子。基本上,您可以让您的选择器将其选择设置为任何您想要的默认值。在这个例子中,我有一个分段的选择器,从2 -> 50英里的5倍选项。我可以在与该选择相对应的选择之后执行一个操作;在此之后,它将返回其默认状态。您可以添加一个延迟或动画,以使它更顺畅,但这是在这个问题的范围之外。
@State var selectedRange = 2
//someView {...
Picker(selection: selectedRange, label: Text("Search Radius")) {
Text("2 miles").tag(0)
Text("5 miles").tag(1)
Text("10 miles").tag(2)
Text("25 miles").tag(3)
Text("50 miles").tag(4)
}
.pickerStyle(SegmentedPickerStyle())
.onChange(of: selectedRange, perform: { value in
doAction()
})函数
实际上,我的ViewModel中有我的,但是在这个例子中,它是在视图本身上的。只要确保检查范围并把它放在正确的地方。
func doAction() {
//Do whatever you need to have done.
switch selectedRange {
case 0:
//Do Something.
default:
//Do Something
}
selectedRange = 2
}https://stackoverflow.com/questions/67160288
复制相似问题