앱을 사용하다 보면 키보드가 버튼이나 다른 뷰들을 가리는 경우가 있습니다.
이때 키보드를 숨겨줘야하는데 여러가지 방법이 있겠지만 2가지 방법으로 구현해보겠습니다.
화면 터치하여 키보드 내리기
1) 우선 이 코드를 viewDidLoad() 아무곳에 추가해줍니다.
1 2 | let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard)) view.addGestureRecognizer(tap) |
2) 그리고 dismissKeyboard 라는 함수를 코드 내부에 class 내부에 추가해주시면 됩니다.
1 2 3 | func dismissKeyboard() { view.endEditing(true) } | cs |
다음은 키보드 상단에 Toolbar를 넣어 Done 버튼을 누를경우 키보드가 내려가는것을 구현하겠습니다.
키보드에 ToolBar 추가
1) 우선 이 코드를 viewDidLoad() 아무곳에 추가해줍니다.
1 2 3 4 5 6 7 8 9 | let toolbar = UIToolbar() toolbar.sizeToFit() let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(done)) toolbar.setItems([doneButton], animated: false) //toolbar를 넣고싶은 textField 및 textView 필자의 경우 recommendDataTextView recommendDataTextView.inputAccessoryView = toolbar | cs |
2) done 함수를 class 내부에 추가해줍니다.
1 2 3 | func done() { self.view.endEditing(true) } | cs |
이제 추가된 Toolbar와 Done 버튼을 클릭시 키보드가 내려가는것을 확인할 수 있습니다.
이 방법은 textView 나 textField 마다 .inputAccessoryView = toolbar 를 추가해주어
다른 text 관련 뷰를 클릭시 toolbar를 추가되는것을 확인할 수 있습니다.
피드백은 언제나 환영합니다.
'개발 > iOS' 카테고리의 다른 글
WWDC 2018 요약! (클리앙) (0) | 2018.06.06 |
---|---|
Redux(ReSwift)를 iOS 프로젝트에 사용해보자! (1) | 2018.05.27 |
[Swift 4] 프로토콜 (Protocol) #1 (0) | 2017.10.15 |
[Swift] MVVM 디자인 패턴과 RxSwift (0) | 2017.10.04 |
댓글