简体   繁体   English

Swiftui 可搜索取消按钮

[英]Swiftui searchable Cancel button

I have a NavigationView with .searchable , when clicking Cancel I want to go to the previous View like Back button.我有一个带.searchableNavigationView ,单击取消时我想将 go 转到前一个视图,如后退按钮。 İ use @Environment(\.isSearching) , it is running, I can print Searching canceled but how to navigate to the previous View? © 使用@Environment(\.isSearching) ,它正在运行,我可以打印 Searching canceled 但如何导航到上一个视图?

You can simply listen to the changes made to isSearching , and pop your view using @Environment(\.presentationMode) :您可以简单地听取对 isSearching 所做的更改,并使用isSearching @Environment(\.presentationMode)弹出您的视图:

.onChange(of: isSearching) { newValue in
    guard !newValue else {return}
    presentationMode.wrappedValue.dismiss()
    //for iOS 16 +, use dismiss.callAsFunction()
}

Note: presentationMode is first deprecated in iOS 15+, so for newer versions use @Environment(\.dismiss) .注意: presentationMode在 iOS 15+ 中首先被弃用,因此对于较新的版本,请使用@Environment(\.dismiss)

If you are using iOS 13+, you can use @Environment(\.dismiss) var dismiss And then use dismiss() in the action如果你使用的是iOS 13+,你可以使用@Environment(\.dismiss) var dismiss然后在action中使用dismiss()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM