我是 iOS 開發的新手,認為它很棒,但我絕對討厭 NavigationView/NavigationLink 的一切,即使在 Android 中也很難找到這樣的白癡!
在 ContentView 我有:
NavigationLink(destination: Login().navigationBarBackButtonHidden(true), label: {
Image(systemName: "person.circle.fill")
.resizable()
.aspectRatio(contentMode: .fit).frame(width: 32)
.foregroundColor(Color(UIColor(named: "IconColor")!))
})
和登錄():
struct Login: View {
@AppStorage("userid") var userid: Int = 0
var body: some View{
VStack{
HStack{
Spacer()
Button(action: {
// Close the view!!???
}) {
Image(systemName: "xmark")
.resizable()
.frame(width: 18, height: 18)
.foregroundColor(Color(UIColor(named: "IconColor")!))
}
.padding(.top, 12.0)
.padding(.trailing, 16.0)
}
Spacer()
}
}
}
我怎樣才能關閉單擊按鈕的視圖?
uj5u.com熱心網友回復:
你會使用presentationMode.wrappedValue.dismiss(). 看看這個以獲取更多資訊。以下是您將如何使用它:
struct Login: View {
@AppStorage("userid") var userid: Int = 0
//Doesn't require anything to be passed in.
@Environment(\.presentationMode) var presentationMode
var body: some View{
VStack{
HStack{
Spacer()
Button(action: {
//Part where view is dismissed
presentationMode.wrappedValue.dismiss()
}) {
Image(systemName: "xmark")
.resizable()
.frame(width: 18, height: 18)
.foregroundColor(Color(UIColor(named: "IconColor")!))
}
.padding(.top, 12.0)
.padding(.trailing, 16.0)
}
Spacer()
}
}
}
您仍然會以相同的方式呼叫它,NavigationLink就像上面的原始問題一樣。
查看此答案以獲取有關解雇的更多資訊。另外,請注意,這將禁用默認的向后滑動行為,如果您想重新啟用它,請查看此處。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/488497.html
標籤:IOS 迅捷 swiftui-导航链接 swiftui-导航视图
