프론트엔드
채널톡 iOS 채팅 입력기의 작은 비밀
두줄요약
iOS 채팅 입력기에서 다국어 입력과 서식 적용을 함께 다루는 방법을 공유했습니다. 한글과 일본어의 입력 방식 차이와 Marked Text 처리 전략을 설명했습니다.
핵심 내용
- iOS 채팅 입력기에서 NSTextStorageDelegate로 사용자 텍스트 변화를 감지하며 서식 입력을 처리한 사례
- 한글 입력은 삭제 후 재삽입처럼 동작해 입력 중 서식 적용 시 사용자 의도 예측이 어려운 문제
- 일본어 가나 입력은 Marked Text로 다단계 입력이 이뤄져, 확정 전 텍스트를 unmark한 뒤 이후 입력에 서식을 적용하는 방식 채택
- 다국어 입력 환경에서는 입력 방식별 동작 차이를 고려해야 하며, 완벽한 의도 예측보다 현재 시점 기준의 처리 전략이 필요
적용해볼 점
- 서식 입력 기능 설계 시 언어별 IME 동작과 marked text 처리 여부를 먼저 점검
- 입력 중 편집 이벤트를 단순 누적이 아닌 확정 전후 상태로 구분해 다루기
- 다국어 채팅 입력기에서는 예상 불가능한 사용자 의도보다 안정적인 UX 기준을 우선
