我想模拟 OSX 应用程序中的多行 UILabel 行为。绘制多行标签,您可以指定行数,换行系统效果很好!
这是我想要实现的一个例子。
这是我想用 UILabel 显示的字符串
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
我可以选择一个带有尾部截断的3 行标签:
Lorem Ipsum is simply
dummy text of the
printing and typeset...
或者使用带有尾部截断的 2 行标签,我得到:
Lorem Ipsum is simply
dummy text of the pri...
我想我需要一个低级 API 来以这种方式绘制字符串。
目前我找到了 3 种不同的方法来绘制文本,我想了解哪种方法最适合完成这项任务。
可可文本
NSTextView 和 NSTextField: 好像级别太高了...无法重现这个效果(NSTextView 不让我选择行数,换行好像把多行的 NSTextView 变成了单行线 NSTextView)。
编辑 我想从字符串中获取框架,然后从框架中获取线并仅使用所需的线重建框架。你怎么看?
核心文本
我可以很好地控制使用框架的文本绘制,但是......我找不到一种方法来定义要显示的行数以及如何截断字符串。
NSLayoutManager
这似乎也是一个很好的解决方案,但我不知道如何重现 UILabel 多行效果。
你有什么建议可以帮助我完成这个棘手的任务吗?