티스토리 뷰

앱을 사용하다 보면 키보드가 버튼이나 다른 뷰들을 가리는 경우가 있습니다.

이때 키보드를 숨겨줘야하는데 여러가지 방법이 있겠지만 2가지 방법으로 구현해보겠습니다.





화면 터치하여 키보드 내리기



1) 우선 이 코드를 viewDidLoad() 아무곳에 추가해줍니다.


1
2
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
view.addGestureRecognizer(tap)

cs



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를 추가되는것을 확인할 수 있습니다.



피드백은 언제나 환영합니다.


댓글
댓글쓰기 폼
공지사항
Total
5,430
Today
12
Yesterday
20
링크
«   2018/12   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
글 보관함