textkit 2

애플 Text엔진 TextKit

이전에 UITextView에 사용자가 텍스트를 입력할 때, iOS 17이상의 단말기에서만 내부 컨텐츠 영역 커서나 스크롤이 이상해지는 현상이 있어 이를 해결한 포스팅을 작성했었다.이때 변경한 내용이 TextKit2를 TextKit1로 변경한 것인데, 그럼 TextKit이 뭔지 알아보자.  1. TextKitTextKit2의 소개는 WWDC21 TextKit2에서 처음 소개되었다.일단 TextKit은 애플이 텍스트 관련 작업을 보다 쉽게 처리할 수 있도록 설계된 프레임워크이다.iOS, macOS, watchOS, 그리고 tvOS에서 사용 가능한 텍스트 처리 및 렌더링의 복잡성을 추상화하여 개발자가 다양한 텍스트 관련 작업을 효율적으로 처리하도록 도와준다. TextKit2는 iOS 15에서 처음으로 등장해서..

Swift 2024.09.08

UITextView 줄 글이 많아질 때, 커서 위치와 스크롤 점핑하는 현상

평소 UITextView를 사용해서 사용자에게 여러 줄의 텍스트를 입력받아왔다.어느 날 테스트 목적으로 UITextView에 엔터를 엄청 많이 입력해보니까아래와 같이 UITextView 내부 컨텐츠 영역이 점핑되거나 커서 위치가 이상해지는 현상을 발견했다.  이는 SwiftUI의 TextField(_, text:, axis:) 컴포넌트에서도 마찬가지였다. 진짜 미스테리는,, iOS 16까지의 실기기, 시뮬레이터는 문제가 없고 iOS 17부터 이런 현상이 나타난다는 것이다!!! 1. 구현예제 프로젝트에서는 사용자가 입력하는 텍스트 중에서 숫자만 빨간색, Bold 체로 변경되는 코드를 작성했다. func textViewDidChange(_ textView: UITextView) { ..

회고 2024.09.08