Jimmy's iOS

iOS) 키보드 올라오고 내려갈시 화면 올리기 , 내리기 본문

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 값을 이용해서 원하는 만큼 올리고 내리기를 해주었다.