본문 바로가기
개발/iOS

[Xcode/Swift3] IOS 앱 Keyboard 숨기기 / Toolbar 추가

by 마동쿠 2017. 8. 28.

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

이때 키보드를 숨겨줘야하는데 여러가지 방법이 있겠지만 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를 추가되는것을 확인할 수 있습니다.



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


댓글