iOS/iOS SeSAC 2기 TIL

iOS swift 키보드 내리기 방법 여러가지

Developer-Michelle 2022. 7. 7. 16:52

1. 제일 간단한 방법

 

1-1. 사용자가 textField에서 ~~ 라고 쓰다가 다른 부분 탭했을 때 키보드가 내려가게 하는 방법

 @IBAction func tapGestureClicked(_ sender: UITapGestureRecognizer) {

        //키보드 내리기

        view.endEditing(true)

    }

 

1-2. 사용자가  textField 에서 ~~라고 쓰다가 키보드 엔터 클릭시 키보드가 내려가게 하는 방법

스토리보드에서 textField를 오른쪽마우스 클릭해서 뷰컨트롤러로 당길 때, (textField Action 연결시 Event : Did End On Exit 로 설정)

 

이 경우 뷰컨트롤러 코드에 단순하게 

@IBAction func endEditing(_ sender: UITextField) {

        view.endEditing(true)

    }

==>       view.endEditing(true) 이거 굳이 안써도 구현됨 (이유: 스토리보드에서 이미 did end on exit 눌러서)

 

2.

becomeFirstResponder vs. resignFirstResponder(키보드 내리기)

https://velog.io/@leeinae/becomeFirstResponder-resignFirstResponder-%EC%B0%A8%EC%9D%B4

 

becomeFirstResponder, resignFirstResponder 차이

UIKit에서 textField의 키보드를 올리거나 내릴 때 이 함수들을 많이 사용하는데여두 개의 차이가 궁금해서 정리하려고 합니다정의를 살펴보자면, 해당 윈도우에서 이 객체를 first responder로 만들 것

velog.io

 

 

+) UITextFieldDelegate 사용하여 키보드 내리기 - 이거 나중에 다시 봐야될듯 .. 안먹힘

textField 에서 엔터키 눌렀을 때 키보드 내리는 방법

: 사용자가 키보드의 리턴버튼을 누르면 textFieldShouldReturn(_:) 메소드를 호출한다.

 

https://sosoingkr.tistory.com/103

 

Swift TextField 엔터키 이벤트 수신하는 방법!

iOS App을 개발하다 보면 TextField의 글자 입력 후 엔터키 이벤트를 수신해야 할때가 있다. 이럴때는 UITextFieldDelegate를 사용하면 된다. 코드 파일 이름이 testViewController.swift 라 가정할때 class testV..

sosoingkr.tistory.com

 

https://velog.io/@delmasong/UITextFieldDelegate

 

UITextFieldDelegate를 예제와 함께 알아봐요!

텍스트 필드 객체의 텍스트 편집 및 유효성 검사를 관리하는데 사용하는 선택적 메소드 셋.텍스트 필드는 중요한 변화에 대응해 델리게이트 메소드를 호출한다. 사용자가 입력한 텍스트를 검증

velog.io