如何在SwiftUI隐藏关闭键盘

背景:在做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协议的视图中都可以直接调用来隐藏键盘

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容