背景:在做SwiftUI项目时会遇到无法隐藏键盘的苦恼,所以写此文章记录一下。
使用方法
将以下代码复制到任意名称.swift
文件,随便创建一个空swift文件贴入以下代码即可
import Foundation
import SwiftUI
extension TextField {
/// 添加关闭键盘工具栏
/// - Returns: 返回
func wzz_makeToolBar() -> some View {
return self.toolbar(content: {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button {
wzz_hideKeyboard()
} label: {
Text("完成")
}
}
})
}
}
extension View {
/// 关闭键盘事件
func wzz_hideKeyboard() {
UIApplication.shared.sendAction(
#selector(UIResponder.resignFirstResponder),
to: nil,
from: nil,
for: nil
)
}
}
使用TextField的时候只需要调用TextField. wzz_makeToolBar()
即可添加带有完成按钮的工具栏,完成按钮的事件是wzz_hideKeyboard()
,在遵守View协议的视图中都可以直接调用来隐藏键盘。
网友评论