Hacker News Digest

Тег: #uikit

Постов: 1

TextKit 2 – The Promised Land (blog.krzyzanowskim.com)

TextKit 2 (NSTextLayoutManager) появился на WWDC21, но уже 4 года не оправдывает надежд. Архитектура продумана: NSTextContentManager, NSTextElement, NSTextLayoutManager. На практике работает только NSTextContentStorage → NSTextStorage, а элементы должны наследовать NSTextParagraph. UITextView/NSTextView не принимает альтернатив.

Баги многочисленны: «extra line fragment», регрессии между версиями, часть отчётов без ответа.

Viewport — главная боль. Он лениво раскладывает только видимую область, поэтому высота документа постоянно пересчитывается и «прыгает» при прокрутке. Постоянные инвалидации и кэширование усложняют код.

by nickmain • 15 августа 2025 г. в 21:26 • 96 points

ОригиналHN

#textkit#ios#macos#apple#uikit#flutter#view#layout

Комментарии (26)

  • TextKit 2 выглядит «сырым»: демо работает, но стоит отойти от happy path — всплывают баги, плохая документация и отсутствие публичного списка проблем.
  • Основной способ использования — кастомизация UITextView/NSTextView; попытки полностью заменить их приводят к боли.
  • На macOS TextKit 2 сломал даже TextEdit: появились глюки прокрутки и повреждение текста.
  • «Дрожание» скроллбара из-за lazy layout и оценок высоты считается «как задумано», но выглядит неприемлемо; решения есть (Flutter, эвристики), но не встроены.
  • Apple, судя по всему, не додогфудила API: внутренние приложения не отловили острые углы, поэтому теперь каждый разработчик получает синяки.