SwiftUI 实现点击空白处键盘隐藏效果

首先通过扩展 UIApplication

extension UIApplication{
    func endEditing(){
        UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
    }
}

然后在需要的地方添加 UIApplication.shared.endEditing()

var body: some View {
        VStack {
            TextField("城市名称", text: $cityName, onEditingChanged: { (value) in
                print("onEditingChanged:\(self.cityName)")
            }) {
                //当用户点击返回按钮时调用
                print("onEditing:\(self.cityName)")
            }
            .padding([.top, .leading, .trailing], 20.0)
            .textFieldStyle(RoundedBorderTextFieldStyle())
            Text("城市名称:\(cityName)")
            Spacer()
        }
        .background(Color.white) //测试时发现必须设置,不然点击空白处无效 (有点懵逼)
        .onTapGesture {
            print("测试点击")
            UIApplication.shared.endEditing()
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。