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

다음 읽기

#iOS 주제를 다룬 다른 회사 글

모바일 웹뷰에서 iOS·Android 가상 키보드 길들이기

iOS·Android WebView의 가상 키보드가 유발하는 뷰포트·고정 입력창 문제를 분석했습니다. VisualViewport 기반 VirtualViewport로 플랫폼별 레이아웃 차이를 완화했습니다.

카카오뱅크
카카오뱅크
프론트엔드
전체 보기

댓글 0개

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

댓글을 불러오는 중...