在OSX上模拟UILabel行为

时间:2013-01-07 15:56:09

标签: objective-c ios cocoa uilabel core-text

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

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

0 个答案:

没有答案