0%

Textkit使用

貌似 yytext 也实现了 Textkit 类似的功能,只是目前不维护了,跑了一个微博的 demo 还能继续研究,后面也发到这里。
想想要是用 SwiftUI 继续集成类似的功能,感觉有点怕怕的,果断新开项目来继续走,SwiftUI继续维护在简单的项目里好了。

  1. Textkit
  2. 问题
    1. 行高偶然不一致
    2. boundingRect(forGlyphRange 不准
  3. 参考

Textkit

问题

行高偶然不一致

paragraphstyle 设置 lineheightmutiple,但是有的行高明显不够。

boundingRect(forGlyphRange 不准

2021-04-16 fixed
boundingRect(forGlyphRange 也就是func boundingRect(forGlyphRange glyphRange: NSRange, in container: NSTextContainer) -> CGRect,得不到正确的 rect,我遇到的是文字超过一定长度后,稳定重现。
2021-04-20👆上面的问题,貌似不存在了,主要原因是特殊控制字符插入顺序有错乱导致的,终于搞定了。

参考

找到 SwiftyAttributes 用swift的方式来使用 attributedstring,如果有机会可以看看 enum 封装

竟然找到了这个神奇的标注方法,厉害了。太牛啤了SimpleFurigana

WWDC 2018:TextKit 最佳实践
Attributed string bullet points - Swift
Setting Text Margins
Regular Expressions for Japanese Text
JapaneseRegex.js
bonmot
Display japanese Text with furigana in UILabel
太牛啤SimpleFurigana
textkit实现FuriganaTextView
很像我的诉求自定义Making UILabel Accessible
SwiftyAttributes
文字背景,剔除空白Contour of a Union of Iso-Oriented Rectangles
NSAttributedString background color and rounded corners
Align text before a tab stop to the right, and after it to the left