背景:在做SwiftUI項(xiàng)目時(shí)會(huì)遇到無法隱藏鍵盤的苦惱比驻,所以寫此文章記錄一下。
使用方法
將以下代碼復(fù)制到任意名稱.swift
文件猴娩,隨便創(chuàng)建一個(gè)空swift文件貼入以下代碼即可
import Foundation
import SwiftUI
extension TextField {
/// 添加關(guān)閉鍵盤工具欄
/// - Returns: 返回
func wzz_makeToolBar() -> some View {
return self.toolbar(content: {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button {
wzz_hideKeyboard()
} label: {
Text("完成")
}
}
})
}
}
extension View {
/// 關(guān)閉鍵盤事件
func wzz_hideKeyboard() {
UIApplication.shared.sendAction(
#selector(UIResponder.resignFirstResponder),
to: nil,
from: nil,
for: nil
)
}
}
使用TextField的時(shí)候只需要調(diào)用TextField. wzz_makeToolBar()
即可添加帶有完成按鈕的工具欄涕烧,完成按鈕的事件是wzz_hideKeyboard()
,在遵守View協(xié)議的視圖中都可以直接調(diào)用來隱藏鍵盤。