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

