반응형
올라와있는 키보드를 아무데나 다른 곳을 클릭했을 때 내리기!
TextField 외의 공간을 터치했을 때 키보드가 숨겨지도록 하기
func dismissKeyboard() {
view.endEditing(true)
}
Editing이 끝났을 때 dismissKeyboard 함수가 실행되도록 하고,
Textfield 외의 공간을 터치했을 때 실행돼야 함
·
·
·
viewDidLoad 함수에서 처리하기
override func viewDidLoad() {
...
let tap = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
view.addGestureRecognizer(tap)
}
UITapGestureRecognizer를 사용하여 tap 했다는 정보를 전달한 뒤
실행시킬 함수를 #selector() 안에 지정!
하지만! 아래와 같은 오류가 뜸
이건 #selector가 Objective-C 언어에서 사용되던 것이기 때문이다
그래서 dismissKeyboard 함수가 Objective-C 에서도 사용될 수 있도록 바꾸어야 함!
·
·
·
dismissKeyboard를 Objective-C 함수로 바꾸기
@objc func dismissKeyboard() {
view.endEditing(true)
}
func 앞에 @objc만 붙여주면 됨 ><
·
·
·
버튼도 클릭했을 때 키보드가 사라져야 함
override func viewDidLoad() {
...
let tap = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
tap.cancelsTouchesInView = false
view.addGestureRecognizer(tap)
}
그래서 cancelsTouchesInView = false 를 추가!하면 끝
반응형
'멀고도 험난한 개발 일지' 카테고리의 다른 글
이런저런_구글링_3 - UserDefaults, Singleton Pattern (0) | 2022.09.07 |
---|---|
UIKit_유투브_신동규 - #5 UI 실습 (0) | 2022.07.18 |
UIKit_유투브_신동규 - #2 Pro처럼 UI 디자인하기 (0) | 2022.07.10 |
UIKit_유투브_신동규 - #1 Pro처럼 project 시작하기 (0) | 2022.07.10 |
이런저런_구글링_2 - Alamofire, 얼탱이 없는 Moya.. (0) | 2022.06.23 |