목록 보기
웹뷰 엔지니어를 위한 iOS Webview Input 경험 개선기
프론트엔드

웹뷰 엔지니어를 위한 iOS Webview Input 경험 개선기

당근마켓
당근마켓
2026년 2월 23일

두줄요약

iOS 웹뷰에서 input focus 시 화면이 밀리는 문제를 여러 방식으로 개선한 과정을 정리했습니다. 최종적으로는 opacity 트릭으로 자동 스크롤을 막아 입력 경험을 안정화했습니다.

문제 상황

  • iOS 웹뷰에서 input focus 시 화면이 위로 밀리며 상단 콘텐츠가 사라지는 입력 경험 문제
  • 커뮤니티 글쓰기·댓글·채팅 등 핵심 인터랙션에서 키보드 노출이 흐름을 끊는 UX 이슈

원인 분석

  • iOS의 Layout Viewport와 Visual Viewport 동작 차이
  • 웹 개발자가 키보드·focus·viewport 이동을 완전히 제어하기 어려운 구조
  • focus된 input을 보이게 하려는 OS 레벨 자동 스크롤

해결 방법

  • visualViewport resize와 scroll을 이용해 scrollTo로 복구하는 방식 시도
  • offsetTop을 따라가며 wrapper 위치를 보정하는 방식 시도
  • 화면 밖 Real Input과 보이는 Fake Input을 교체하는 방식 시도
  • opacity 0으로 자동 스크롤을 차단한 뒤 focus를 유지하는 단일 input 방식 적용

주의할 점

  • 반응형 보정 방식은 깜빡임·떨림·미세한 흔들림 유발 가능성
  • input 두 개를 동기화하는 swap 방식은 상태 관리와 유지보수 부담 증가
  • opacity 트릭은 hacky한 우회책으로 iOS 버전 변화에 취약할 수 있음

적용해볼 점

  • 글쓰기처럼 핵심 UX인 영역에만 선택적으로 적용
  • 정석 API가 없을 때 사용자 흐름을 우선하는 우회 전략 검토
  • 웹뷰 입력 문제를 viewport 동작 관점에서 재해석

다음 읽기

같은 회사의 연관 글

바닥부터 시작하는 웹앱 에디터 개발기

웹앱 환경에서 블록 에디터를 직접 개발한 과정을 소개했습니다. ProseMirror를 선택하고 삭제 방지와 스크롤 문제를 해결하며 확장성을 확보했습니다.

당근마켓
당근마켓
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...