iOS
iOS) 키보드 올라오고 내려갈시 화면 올리기 , 내리기
Jimmy Youn
2021. 7. 14. 00:09
텍스트 필드를 클릭후 키보드가 올라올시 가끔 키보드가 밑에 있는 화면을 가릴때가 있었다. 이것을 NotificationCenter 를 사용해서 해결하였다.
override func viewDidLoad() {
super.viewDidLoad()
setObserver()
}
func setObserver() {
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
}
@objc func keyboardWillShow() {
if view.frame.origin.y == 0 {
self.view.frame.origin.y -= 88
}
}
@objc func keyboardWillHide() {
if view.frame.origin.y != 0 {
self.view.frame.origin.y = 0
}
}
setObserver() 함수를 만들고 안에 NotificationCenter 를 사용해서 keyboardWillShow, keyboardWillHide 를 등록해준다.
그런다음 각각의 @objc func 함수에서 view.frame.origin.y 값을 이용해서 원하는 만큼 올리고 내리기를 해주었다.