![](/img/trans.png)
[英]NavigationView and NavigationLink on button click in SwiftUI?
[英]iOS SwiftUI - NavigationView NavigationLink: Close view with custom Button
我是 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()
}
}
}
我怎樣才能關閉單擊按鈕的視圖?
您將使用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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.