Far*_*oko 5 uiprogressview swift swiftui
您好,我想在栏按钮项目上制作未确定的进度视图。完成后我想将其隐藏,但hidden()方法没有像disabled(Bool)这样的参数。任务完成后如何隐藏进度视图?
我不知道如何在 swiftui 上以编程方式隐藏它,因为它没有参数。
这是代码
.navigationBarItems(leading:
Button(action: {
self.presentationMode.wrappedValue.dismiss()
}, label: {
Text("Cancel")
.foregroundColor(.orange)
})
, trailing:
//this should be hidden when the work done not always
ProgressView()
.hidden()
)
Run Code Online (Sandbox Code Playgroud)
您可以创建该 ViewExtension
extension View {
@ViewBuilder func isHidden(_ isHidden: Bool) -> some View {
if isHidden {
self.hidden()
} else {
self
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后动态隐藏视图:
struct ContentView : View {
@State var isHidden = false
var body : some View {
NavigationView {
VStack {
Text("Hello World")
Button(action: {
self.isHidden.toggle()
})
{
Text("Change loading")
}
}
.navigationBarItems(leading:
Button(action: {
}, label: {
Text("Cancel")
.foregroundColor(.orange)
})
, trailing:
ProgressView()
.isHidden(isHidden) //<< isHidden takes a bool whether it should be hidden
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8796 次 |
| 最近记录: |