如何在SwiftUI隐藏关闭键盘

2022-03-10  本文已影响0人  大师的书

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

上一篇下一篇

猜你喜欢

热点阅读