## TextKit 2:令人失望的承诺
一位开发者分享了对苹果TextKit 2 (NSTextLayoutManager)日益增长的失望之情,该框架原本 intended 作为对旧版TextKit 1的替代品。虽然其架构是合理的,但实现却存在不足,造成令人沮丧的可用性问题。
核心问题在于必须使用特定且常常存在问题的实现,例如`NSTextContentStorage`和`NSTextParagraph`。更重要的是,新的基于视口(viewport)的布局——旨在通过仅布局可见文本来优化性能——引入了不稳定性。 估算文档总高度以进行滚动会导致滚动位置出现明显的“抖动”,甚至被苹果承认是设计使然。 解决方法很脆弱,涉及“伪造”视口位置。
开发者指出,这些并非孤立的问题;苹果自己的TextEdit应用程序也存在相同的问题。 尽管最初充满乐观和公开倡导,但作者最终得出结论,TextKit 2并非万能药,可能不是复杂文本编辑UI的最佳选择,凸显了有希望的设计与实际应用之间的差距。