6

我想模拟 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 多行效果。

你有什么建议可以帮助我完成这个棘手的任务吗?

4

0 回答 0