궁금한 내용을 검색해보세요!
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서근 개발노트
티스토리에 팔로잉
USEFUL CODE

SwiftUI: 탭하여 키보드 숨기는방법 - hideKeyboard()

서근
QUOTE THE DAY

-
Written by SeogunSEOGUN

반응형

키보드를 숨기는 방법

TextField 등 바깥 쪽을 탭하여 StoryboardSwiftUI 앱 모두에서 키보드를 쉽게 해제하는 방법을 알아 보겠습니다.

SwiftUI

 1. 편의상 새로운 Swift 파일을 생성해서 hideKeyboard extension을 생성해주겠습니다.

import Foundation
import SwiftUI

extension UIApplication {
    func hideKeyboard() {
        guard let window = windows.first else { return }
        let tapRecognizer = UITapGestureRecognizer(target: window, action: #selector(UIView.endEditing))
        tapRecognizer.cancelsTouchesInView = false
        tapRecognizer.delegate = self
        window.addGestureRecognizer(tapRecognizer)
    }
 }

extension UIApplication: UIGestureRecognizerDelegate {
    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return false
    }
}

 2. 호출 방법  :  .onAppear (perform : UIApplication.shared.hideKeyboard)

import SwiftUI

struct ContentView: View {
    @State private var name = ""
    var body: some View {
        VStack {
            TextField("아이디", text: $name)
        }
        .onAppear (perform : UIApplication.shared.hideKeyboard)
    }
}

 

읽어주셔서 감사합니다🤟

 

 


잘못된 내용이 있으면 언제든 피드백 부탁드립니다.


서근


위처럼 이미지 와 함께 댓글을 작성할 수 있습니다.