ios - 在 SwiftUI Popover 中下拉 ScrollView 会关闭它
问题描述
我知道 iOS 中的模态框有一个内置行为,当您向下滑动它们时,模态框会下拉并关闭。ScrollView
但是我遇到了一个问题,即 a中最轻微的向下滚动.popover
会立即关闭它。
我.popover
在这种情况下使用 a 是因为它是我的应用程序的 Mac 版本中的弹出框,但在 iOS 中它默认为模式表。
这是我向下滚动时发生的事情:
我向下滚动的那一刻,模态抖动并关闭。这是说明这一点的示例项目:
import SwiftUI
struct ContentView: View {
@State var showModal = false
var body: some View {
ZStack{
Button("Open Sheet"){
showModal = true
}
}
.popover(isPresented: $showModal, arrowEdge: .bottom){
ModalView(showModal: $showModal)
}
}
}
struct ModalView: View{
@Binding var showModal: Bool
var body: some View{
ScrollView{
VStack{
Text("One")
Text("Two")
Text("Three")
}
}
.frame(maxWidth: .infinity)
.padding(20)
.background(Color.gray)
}
}
当我向下滚动时,我可以做些什么来防止工作表/模式关闭ScrollView
?
解决方案
这是一个 SwiftUI 错误。它已在 Xcode 12.5 beta 中修复。
推荐阅读
- python - Flask:使用 POST 方法存储值并使用 GET 方法检索它
- java - 启动应用程序两次或更多次
- python - 如何刷新 PyQt5 中的分组框?
- sql - 如何将查询中的数据与数据列表连接起来?
- time-series - 时间序列和样本之间的差异(Prometheus/任何 TSDB)
- java - java Stripe api调用完成快速帐户连接的正确函数是什么?
- r - 如何在 ggplot2 中绘制模型的 mle2 拟合以及数据?
- docker - 如何在 Dockerfile 中设置 JVM 设置
- autodesk-forge - 为什么您计划将默认的 IFC 模型衍生处理器从 Navisworks 导入器更改为 Revit 导入器?
- python - Pandas:按子组的出现次数过滤行