목록 보기
웹뷰 엔지니어를 위한 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 동작 관점에서 재해석

댓글 0

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

댓글을 불러오는 중...