我在堆栈的顶部栏中有一个带有按钮的视图:
ZStack{
HStack{
Spacer()
Image("navbar-icon")
Spacer()
}
HStack{
Spacer()
Button(
action: {
self.dataModel.resetModelVars()
do {
try QDB.si.refreshQueries()
}catch{
print("DB Error for Clear All")
}
},
label: {
Text("Reset")//.foregroundColor(Color("TPLink")).font(.system(size: 17))
}
)
}
}
.frame(height: 44, alignment: .center)
.padding([.horizontal])
到目前为止,一切都很好,并且可以,除非:
在我看来,我有一个environmentObject:
struct LeaderboardView: View {
@EnvironmentObject var dataModel: DM
现在,我正在尝试使用以下方法在视图顶部显示一个进度条小部件:
ZStack(alignment: .center) {
Rectangle()
.fill(Color("TPOrange"))
.frame( height: 4.0)
.scaleEffect(CGFloat(dataModel.progressViewProgress),anchor: UnitPoint(x: 0.0, y: 0.5))
.animation(.easeIn)
Rectangle()
.fill(Color("TPBG"))
.frame(height: 4.0)
}
现在这是奇怪的部分。这将阻止我的navBar按钮触发其动作。但是,如果我用一个硬编码的数字0.01替换dataModel.progressViewProgress,它将起作用。
这是另一个奇怪的异常:
如果将0.01替换为0.0,那么它将再次停止触发按钮动作。
奇怪...有想法吗?