如何渲染多行中心文本,限制为特定的帧大小,以及在文本不适合时插入...(省略号)字符?
背景:
我正在开发一个自定义视图,模仿OS X Finder"作为图标"视图,标签位置设置为"底部"。在此视图模式下,文件名显示在两行的图标下方,如下所示(使用边框框架的ASCII图形):
+------------------------+
| long file name that |
| gets centered…rest.jpg |
+------------------------+
我知道NSTextField几乎可以完成,但不是完全:使用设置" Wrap"和"截断最后一条可见线" (如Xcode的IB中所提供的),它最终会像这样:
+------------------------+
| long file name that |
| gets centered and mor… |
+------------------------+
即,它截断了最后一行的文本而不是最后一行的中间。
另外,我不能使用NSControl,而是需要将文本渲染到图形上下文中。
是否有任何框架功能可以执行此操作,或者此代码是否为Finder私有,我是否需要自己重写所有这些?