← 블로그
#만든 사람 노트#캘린더#모바일

키보드가 올라오면 저장 버튼이 사라졌습니다

꿈꾸는곰도리 운영자 · 2026-09-10 · 약 6분 읽기
공유XFacebook

폰에서 일정을 하나 추가하려다 멈칫했습니다. 제목을 적고 저장하려는데 「추가」 버튼이 없었어요. 화면을 위로 밀어봐도 나오지 않습니다.

처음엔 캘린더 화면 하나가 잘못 만들어진 줄 알았습니다. 그 자리만 고치면 끝날 일로 봤어요. 그래서 고치기 전에 «다른 화면은 괜찮은가»만 확인해 보기로 했는데, 확인이 본 작업보다 훨씬 커졌습니다.

꼼꼬미 캘린더 일정 추가 모달을 320×568 화면에 소프트 키보드가 올라온 상태로 띄운 전후 비교 실촬. 왼쪽(고치기 전)은 시트 아래가 잘려 「취소·추가」 버튼이 화면에 없고, 오른쪽(고친 뒤)은 같은 조건에서 두 버튼이 키보드 위에 남아 있다
캘린더 일정 추가 · 320×568 · 소프트 키보드가 올라온 상태. 왼쪽이 고치기 전, 오른쪽이 고친 뒤입니다.

눈으로는 셀 수 없었습니다

입력 창은 앱 전체에 서른 개가 넘습니다. 하나씩 폰에서 열어 확인하려면 며칠이 걸리고, 그러고도 다음 달에 새 창이 하나 생기면 처음부터 다시 해야 해요. 그래서 창을 자동으로 띄워 재는 장치를 먼저 만들었습니다.

진짜 창 37개를 진짜 데이터 위에 올려 실제 폰 크기로 띄웁니다. 그리고 세 가지를 잽니다 — 창이 제 내용을 잘라냈는지, 창이 화면 밖으로 나갔는지, 그리고 굴려도 닿을 수 없는 버튼이 있는지. 마지막 것이 핵심이었어요. 스크롤해서 닿을 수 있으면 불편한 것이고, 닿을 수 없으면 못 쓰는 것입니다.

폭은 네 가지를 씁니다. 320×568(아이폰 SE 1세대와 폴더블 커버 화면), 360×640(안드로이드 보급형), 390×664(아이폰 12~15), 430×740(프로 맥스). 여기에 키보드가 올라온 상태와 아닌 상태를 각각 쟀습니다.

결과입니다. 숫자는 «닿을 수 없는 버튼이 있는 창»의 개수예요.

화면키보드 없음키보드 올라옴
320×56810 / 3718 / 37
360×6409 / 3714 / 37
390×6649 / 3714 / 37
430×7406 / 3713 / 37

캘린더 하나가 아니었습니다. 탭 여덟 개에 걸쳐 있었어요. 가장 심한 것은 학업 탭의 과제 창으로 522픽셀이 잘려 있었습니다. 창 아래쪽이 통째로 없는 셈이에요.

왜 몇 달 동안 몰랐을까

재현 조건이 «좁은 화면 + 키보드»입니다. 그런데 만들고 검수하는 쪽은 넓은 창에서 보고, 거기서는 키보드가 뜨지 않아요.

여기에 하나가 더 겹칩니다. 입력 창 대부분이 열리자마자 첫 칸에 커서를 놓습니다. 바로 타이핑하라고 넣은 동작인데, 그 말은 쓰는 사람에게는 키보드가 올라와 있는 상태가 기본이라는 뜻이에요. 만드는 쪽이 한 번도 보지 않는 그 상태가, 쓰는 쪽에게는 늘 보는 상태였습니다.

자동 검사도 이걸 못 잡습니다. 잘림은 오류가 아니거든요. 예외도 안 나고 경고도 없어요. 화면은 멀쩡하게 떠 있고 그저 아래가 없을 뿐입니다.

처음 잰 숫자는 거짓말이었습니다

장치를 만들어 처음 돌렸을 때 나온 결과는 통째로 틀린 값이었습니다.

그 장치가 제품과 다른 설정으로 돌고 있었어요. 화면을 배치하는 규칙이 하나도 적용되지 않은 채로 «측정»되고 있었는데, 화면은 그럴듯하게 떠서 아무 경고도 없었습니다. 잘못된 자로 잰 숫자가 그럴듯한 범위로 나온 겁니다.

여기서 배운 것 하나. 조용히 거짓을 내는 검사는 없는 검사보다 나쁩니다. 검사가 없으면 «아직 확인 안 했다»는 것을 알기라도 하는데, 있으면 확인했다고 믿어버리니까요.

원인은 자가 두 개였다는 것

창의 높이를 정하는 곳이 두 군데였습니다. 바깥 껍데기가 «화면 높이만큼»으로 한 번 정하고, 안쪽 내용이 «화면의 65%까지»로 또 한 번 정해요. 문제는 두 곳이 «화면 높이»를 서로 다르게 잰다는 것입니다. 한쪽은 주소창을 뺀 실제로 보이는 높이를 쓰고, 다른 쪽은 주소창을 포함한 큰 높이를 씁니다. 그래서 안쪽이 바깥보다 커지고, 넘친 만큼이 잘려요. 잘리는 것은 늘 마지막 줄입니다. 저장·취소·삭제 버튼이 거기 있습니다.

이 대목에서 판단이 한 번 바뀌었습니다. 처음엔 «화면을 거의 다 채우는 큰 값만 위험하다»고 보고 85% 이상만 찾고 있었어요. 그런데 실제로 결함을 낸 값은 **65%**였습니다. 숫자가 작아도 다른 자로 잰 두 상자는 언제든 어긋납니다. «얼마나 큰가»를 따지는 것을 그만두고, 안쪽에서 높이를 다시 재는 것 자체를 막기로 했습니다.

37개를 고치는 대신 한 곳을 고쳤습니다

창을 하나씩 손보면 서른여덟 번째가 같은 실수를 합니다.

높이 상한은 바깥 껍데기 한 곳만 갖게 하고, 안쪽 내용은 남은 만큼을 쓰게 했습니다. 그래도 모자라면 잘라내는 대신 창 전체가 스크롤되도록 바꿨어요. 버튼이 사라지는 것과 굴려서 닿는 것은 쓰는 사람에게 전혀 다른 일입니다. 키보드가 올라올 때 남는 공간을 계산하는 식도 고쳤습니다. 가장 좁을 때 여백을 한 번 더 떼고 있었거든요.

고친 뒤 같은 조건에서 다시 셌습니다. 네 가지 폭 모두, 키보드가 있든 없든 0 / 37입니다.

되살아나지 않도록 검사를 둘 붙였습니다. 하나는 코드를 읽어서 «안쪽에서 높이를 또 정하지 않았는가»를 보고, 다른 하나는 매번 진짜로 창 37개를 띄워 «아래 버튼에 닿는가»를 잽니다. 둘은 서로를 대신하지 못해요. 앞의 것은 새로운 방식으로 어긋나는 경우를 못 보고, 뒤의 것은 목록에 없는 창을 못 봅니다. 새 창을 만들면 그 목록에 한 줄 더하는 것이 규칙이 됐습니다.

문의함이 조용했던 이유

이 결함으로 들어온 문의는 한 건도 없었습니다. 몇 달 동안 열여덟 개의 창에서 버튼이 안 보였는데도요.

사람은 저장 버튼이 안 보인다고 문의를 쓰지 않습니다. 몇 번 눌러보다가 «이 앱은 저장이 잘 안 되네» 하고 다음부터 덜 엽니다. 문의가 없는 것이 결함이 없다는 증거는 아니었어요. 만난 사람이 말없이 떠났을 뿐일 수도 있습니다.

요즘은 새 화면을 만들면 넓은 창에서 보기 전에 폰 크기로 먼저 띄웁니다. 키보드를 올린 채로요.

글쓴이
꿈꾸는곰도리 운영자
매일 쓰면서, 만들며 겪은 것을 적습니다

일정·건강·가계부·목표를 따로 관리하다 지쳐서, 하나로 잇는 앱을 직접 만들었습니다. 꼼꼬미의 기획부터 개발·운영까지 직접 손대고 있고, 여기 쓰는 글은 대부분 제가 직접 기능을 만들고 매일 써보며 겪은 것에서 나옵니다. 잘 안 됐던 것도 그대로 적습니다.

함께 읽으면 좋은 글

블로그
목표 경험치가 사라졌고, 돌려드릴 방법이 없었습니다
브라우저에만 저장해 둔 값은 기기를 바꾸면 사라집니다. 목표 경험치와 배지가 그랬어요. 몇 달 동안 아무도 몰랐던 이유와, 그 뒤로 브라우저에 값을 남기는 파일 60개를 전부 목록으로 만든 기록입니다.
사용 가이드
캘린더 단축키와 드래그, 손끝으로 하루 짜기
캘린더 앱으로 일정 관리를 빠르게. 단축키, 드래그 이동·리사이즈, 반복 일정 자동화, 뷰 전환 요령까지 마우스 왕복을 줄이는 실전 스케줄 관리법.
사용 가이드
반복 일정과 알림으로 "깜빡"을 없애는 법
일정 관리 앱에서 매일·매주·매월·매년 반복 일정 활용법부터, 웹 푸시와 이메일 이중 알림 나눠 쓰기, 캘린더 단축키, 리마인더를 행동 단위로 쓰는 요령까지.