我正在尝试将工作表表示工作嵌套在ScrollView.
如果没有ScrollView修饰符.sheet,效果很好,但是当我将所有内容包装在滚动视图内时,修饰符只会触发一次。因此,第一次点击时,工作表看起来很好,但在关闭它后,我无法再次触发它。我不确定这本身是否是一个错误SwiftUI,或者我是否在这里做了什么。
注意:如果我将.sheet修饰符添加到其ScrollView本身,则一切正常。但对于我的用例,.sheet修饰符被添加到深深嵌套在ScrollView.
我正在使用 Xcode Beta 5
没有 ScrollView - 有效
struct SheetWorks: View {
@State var showSheet = false
var strings = [
"Hello", "World", "!"
]
var body: some View {
HStack {
ForEach(strings) { string in
Button(action: {self.showSheet.toggle()}) {
Text(string)
}
.sheet(isPresented: self.$showSheet) {
Text("Here is the sheet")
}
}
}
.padding()
}
}
Run Code Online (Sandbox Code Playgroud)
使用 ScrollView - 不起作用
struct SheetDoesntWork: View {
@State var showSheet = false
var strings = [
"Hello", "World", "!"
]
var body: some View {
ScrollView(.horizontal) {
HStack {
ForEach(strings) { string in
Button(action: {self.showSheet.toggle()}) {
Text(string)
}
.sheet(isPresented: self.$showSheet) {
Text("Here is the sheet")
}
}
}
.padding()
}
}
}
Run Code Online (Sandbox Code Playgroud)
也许有人经历过类似的事情或者可以为我指明正确的方向。我真的很感谢任何帮助。
编辑:这个问题在 Beta 6 中仍然存在
| 归档时间: |
|
| 查看次数: |
3102 次 |
| 最近记录: |