반응형
250x250
07-21 12:16
Today
Total
«   2026/07   »
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
Notice
Recent Posts
Recent Comments
Link
Archives
관리 메뉴

Bill Kim's Life...

[iOS] Keyboard 나타날 때 UI 가려짐 본문

DEV Tips/iOS

[iOS] Keyboard 나타날 때 UI 가려짐

billnjoyce 2026. 3. 22. 21:02
728x90
반응형

개요

iOS에서 TextField, TextView 사용 시 키보드가 올라오면 입력 UI가 가려지는 문제가 자주 발생합니다.
👉 특히 ScrollView나 Auto Layout을 제대로 처리하지 않으면 사용자 입력 필드가 키보드 뒤에 숨겨짐


문제 코드

textField.frame.origin.y = 100
// 키보드 올라와도 위치 변화 없음 ❌

👉 문제 포인트:

  • 키보드 이벤트를 감지하지 않고 UI 위치를 고정함
  • ScrollView나 Constraint 조정 누락으로 입력 필드 가림 발생

해결 코드

NotificationCenter.default.addObserver(
    self,
    selector: #selector(keyboardWillShow),
    name: UIResponder.keyboardWillShowNotification,
    object: nil
)

@objc func keyboardWillShow(_ notification: Notification) {
    guard let kbFrame = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect else { return }
    scrollView.contentInset.bottom = kbFrame.height
}

👉 해결 포인트:

  • NotificationCenter로 키보드 등장 이벤트 감지
  • ScrollView의 contentInset 또는 Constraint를 조정하여 입력 필드 가림 방지

한 줄 정리

👉 키보드 이벤트 Notification을 활용하여 UI를 올려라 — 입력 필드가 키보드에 가려지지 않도록 처리 필수

728x90
반응형
Comments