Ios 通过点击整行为选择器选择一个值
我正在构建一个SwiftUI应用程序,它有一个Ios 通过点击整行为选择器选择一个值,ios,swift,swiftui,Ios,Swift,Swiftui,我正在构建一个SwiftUI应用程序,它有一个Picker视图。它嵌入在导航视图中,因此当我点击选取器的标题时,我会转到全屏选择视图来选择一个值。我只能通过点击文本本身来选择一个,但如果在红色区域外点击,则什么也不会发生。 我想知道这是一种预期行为还是某种错误?是否可以将其固定,以便点击行的任何部分将被视为选择? 代码如下: var主体:一些视图{ 导航视图{ 形式{ 部分{ 文本字段(“金额”,文本:$checkAmount) .键盘类型(.decimalPad) // !!! //拾荒者来
Picker
视图。它嵌入在导航视图
中,因此当我点击选取器
的标题时,我会转到全屏选择视图来选择一个值。我只能通过点击文本
本身来选择一个,但如果在红色区域外点击,则什么也不会发生。
我想知道这是一种预期行为还是某种错误?是否可以将其固定,以便点击行的任何部分将被视为选择?
代码如下:
var主体:一些视图{
导航视图{
形式{
部分{
文本字段(“金额”,文本:$checkAmount)
.键盘类型(.decimalPad)
// !!!
//拾荒者来了
// !!!
选择器(“人数”,选择:$peopleIndex){
ForEach(peopleRange){
文本(“\($0)人”)
}
}
}
部分(标题:文本(“您想留下多少小费?”){
选择器(“小费百分比”,选择:$percentageIndex){
ForEach(0..
这种行为似乎是一个bug,将在Xcode 11.2中修复如果要选择所有行,可以使用带间隔的HStack:
ForEach(peopleRange) {
HStack {
Text("\($0) people")
Spacer()
}
}
希望这能帮助你或给你一些想法
Picker("Number of people", selection: $peopleIndex) {
ForEach(1..<100) { index in
ZStack{
Color.white
Text("\(index) people")
}
}
}
Picker(“人数”,选择:$peopleIndex){
ForEach(1..Try.contentShape(Rectangle())
不幸的是,使用Xcode 11.1/iOS 13.1这不起作用。我在一个示例项目(Xcode 11.1 iOS13.1)中用代码的第一部分尝试了它,它对我起作用:/添加间隔符整行都是可选的。
ForEach(peopleRange) {
HStack {
Text("\($0) people")
Spacer()
}
.contentShape(Rectangle())
}