K Kibo 받기

아이폰 키보드가 입력창을 가리는 이유

키보드가 방금 누른 입력칸을 덮어버리는 현상은 대개 그 아래 앱이나 웹페이지가 자리를 비켜 주지 않아서 생깁니다. 어느 쪽 문제인지 구분하는 기준과 실제로 도움이 되는 방법을 정리했습니다.

화면 아래쪽에 있는 입력칸을 눌렀는데 키보드가 올라오면서 방금 누른 그 칸을 그대로 덮어버리는 경우가 있습니다. 기사 아래 댓글창, 로그인 상자, 페이지 하단에 붙어 있는 채팅 위젯에서 특히 자주 겪게 됩니다. 글자는 계속 입력되지만 무엇을 쓰고 있는지 눈으로 확인할 수 없고, 심하면 입력칸 자체가 화면에서 사라진 것처럼 보입니다. 키보드가 엉뚱한 자리에 올라온 것처럼 느껴지지만 실제 원인은 대개 그 아래에 있는 앱이나 웹페이지 쪽에 있습니다.

iOS는 화면을 대신 밀어 올려 주지 않습니다

키보드가 올라올 때 iOS가 스스로 하는 일은 사실상 한 가지뿐입니다. 키보드의 크기와 화면상의 위치를 표준 알림 형태로 앱이나 웹페이지에 전달하는 것입니다. 시스템이 보장하는 범위는 여기까지입니다. iOS가 페이지를 대신 스크롤해 주거나, 내용을 줄여 주거나, 입력칸을 위로 올려 주지는 않습니다. 측정값만 넘겨주고 나머지 판단은 지금 입력 중인 앱이나 페이지에 맡깁니다. 잘 만들어진 화면은 이 알림을 받아 자기 배치를 다시 계산하고, 사용자가 누른 입력칸이 키보드 위쪽에 남도록 내용을 밀어 올립니다. 반대로 이 알림을 듣지 않거나 계산을 잘못한 화면은 입력칸을 원래 자리에 그대로 둡니다. 키보드는 예정대로 올라올 뿐이고, 비켜야 한다고 아무도 알려 주지 않았으니 결과적으로 입력칸이 가려집니다.

앱보다 웹페이지에서 훨씬 자주 나타나는 이유

애플이 제공하는 기본 구성 요소로 만든 앱은 키보드를 피하는 동작이 이미 들어 있는 경우가 많아 대체로 문제가 없습니다. 반면 사파리에서 연 웹페이지나, 링크를 누를 때 앱 안에서 열리는 내장 브라우저는 사정이 다릅니다. 모바일 사파리는 키보드가 올라올 때 페이지 자체가 아니라 화면에 보이는 영역의 크기를 바꿉니다. 그런데 화면 맨 아래에 붙여 둔 요소는 줄어든 표시 영역이 아니라 전체 페이지 높이를 기준으로 위치가 잡히는 경우가 있습니다. 채팅 위젯, 댓글 상자, 하단 고정 바가 모두 이런 방식으로 만들어집니다. 키보드는 올라왔는데 입력칸은 애초에 움직이지 않았으니 그대로 키보드 뒤로 숨어 버립니다.

채팅 위젯과 댓글 상자가 대표적인 사례입니다

불만이 유독 이 두 가지에 몰리는 이유도 여기에 있습니다. 고객 문의용 채팅 버블, 기사 아래 댓글 상자, 웹 서비스 안의 메시지 작성란은 하나같이 화면 아래 가장자리에 고정된 작은 패널로 만들어집니다. 키보드가 실제로 끝나는 지점을 잘못 계산하기 가장 쉬운 배치입니다. 반대로 페이지 위쪽에 있는 검색창이나 일반 양식 칸에서는 같은 문제가 잘 생기지 않습니다. 위쪽에 스크롤할 여유가 충분히 남아 있기 때문입니다.

어느 쪽 문제인지 구분하는 기준

실제로 도움이 되는 방법

  1. 키보드가 올라온 상태에서 화면을 손으로 직접 조금 스크롤해 봅니다. 자동으로 위치를 잡아 주지 못하는 페이지도 수동 스크롤은 되는 경우가 많아서, 살짝 밀어 올리는 것만으로 입력칸이 다시 보이기도 합니다.
  2. 입력칸 바깥을 눌러 포커스를 뺀 다음 다시 눌러 봅니다. 포커스가 잡히는 순간에만 배치를 다시 계산하는 페이지가 있어서, 키보드가 이미 올라온 뒤에 한 번 더 누르면 처음에 놓친 계산이 맞춰지기도 합니다.
  3. 사파리에서 보는 웹페이지라면 주소 표시줄 메뉴에서 데스크탑 웹사이트 요청을 시도해 봅니다. 데스크탑용 화면은 앞에서 말한 하단 고정 방식을 훨씬 덜 쓰기 때문에, 모바일 화면에서 밀리던 입력칸이 제자리에 남아 있는 경우가 있습니다.
  4. 같은 양식을 전용 앱에서도 쓸 수 있다면 그쪽을 이용해 봅니다. 은행 모바일 웹 대신 은행 앱을 쓰는 식입니다. 네이티브 앱 쪽이 처음부터 키보드를 제대로 처리할 가능성이 더 높습니다.
  5. 설정에서 손볼 것은 없습니다. 설정 값의 문제가 아니라서 설정 앱 → 일반 → 키보드 어디에도 이 동작을 바꾸는 스위치는 없습니다.

키보드를 바꾸면 해결될까요

해결되지도 않고 더 나빠지지도 않습니다. iOS의 모든 키보드는 애플 기본 키보드든 서드파티 키보드든 똑같은 표준 알림으로 자기 크기와 위치를 앱에 전달합니다. 그 정보를 받아 무엇을 할지는 앱이나 페이지가 정하고, 키보드에는 그 경계를 넘어 페이지를 직접 움직일 방법이 없습니다. 키보드를 바꾸면 보이는 모양과 소리가 달라질 뿐, 자리를 만들어 주는 책임이 누구에게 있는지는 달라지지 않습니다.

자주 묻는 질문

왜 하필 지금 입력하고 있는 칸을 키보드가 가리나요?

iOS는 앱이나 웹페이지에 키보드의 크기와 위치를 알려 주기만 하고, 내용을 비켜 주는 일은 그 앱이나 페이지의 몫으로 남깁니다. 화면 아래에 고정된 채팅 위젯이나 댓글 상자처럼 위치를 다시 계산하지 않는 요소가 있으면, 움직이지 않은 입력칸 위로 키보드가 그대로 올라오게 됩니다.

다른 키보드 앱으로 바꾸면 나아지나요?

아닙니다. 애플 기본 키보드를 포함해 모든 키보드가 같은 방식으로 자기 크기를 앱에 알릴 뿐이고, 앱의 내용을 직접 옮길 권한은 어느 키보드에도 없습니다. 해결책이 있다면 그것은 해당 앱이나 웹페이지 쪽에 있지, 어떤 키보드를 추가했는지에 있지 않습니다.

키보드가 입력창을 가리지 않게 하는 설정이 따로 있나요?

없습니다. 키보드 설정의 문제가 아니라 특정 앱이나 페이지가 키보드가 올라올 때 자기 내용을 다시 배치하지 않아서 생기는 현상이라, 설정 항목으로 제공되지 않습니다. 화면을 손으로 스크롤하거나 입력칸을 다시 누르는 쪽이 현실적인 대처입니다.

내 키보드에서 직접 써보기

Kibo는 진짜 기계식 키음과 다양한 테마, RGB 백라이트 효과를 갖춘 iPhone용 무료 키보드입니다. 계정도 광고도 없고, 전체 접근 권한을 꺼둔 상태에서도 작동합니다.

App Store에서 받기

관련 가이드

전체 가이드