Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 通过点击整行为选择器选择一个值_Ios_Swift_Swiftui - Fatal编程技术网

Ios 通过点击整行为选择器选择一个值

Ios 通过点击整行为选择器选择一个值,ios,swift,swiftui,Ios,Swift,Swiftui,我正在构建一个SwiftUI应用程序,它有一个Picker视图。它嵌入在导航视图中,因此当我点击选取器的标题时,我会转到全屏选择视图来选择一个值。我只能通过点击文本本身来选择一个,但如果在红色区域外点击,则什么也不会发生。 我想知道这是一种预期行为还是某种错误?是否可以将其固定,以便点击行的任何部分将被视为选择? 代码如下: var主体:一些视图{ 导航视图{ 形式{ 部分{ 文本字段(“金额”,文本:$checkAmount) .键盘类型(.decimalPad) // !!! //拾荒者来

我正在构建一个SwiftUI应用程序,它有一个
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())
}