对最后一行文本进行对齐调整

我正在研究一个应用程序,我需要将所有文本行都对齐。 该应用程序将在图像顶部显示2行文字,从而创造出像图片一样的广告。 问题是,这两行文本都需要证明,但第二行文本永远不会被证明。 或者,如果我分别画两条线,那么两者都不合理。

如果指定kCTJustifiedTextAlignment在CoreText或NSJustifiedTextAlignmentNSTextField/View所有,但文字的最后一行是有道理的。 最后一行自然对齐。

有没有办法强制textfield或textview的最后一行是合理的,所以填充视图的宽度?

我曾考虑过使用CTLine来分别绘制每一行,并指定一些内容以使它们合理,但我不知道如何去做。

谢谢


感谢omz的评论,我偶然发现了CTLineCreateJustifiedLine ,它给了我我想要的东西。 如果有人使用Cocoa Control(NSTextView),我仍然会感兴趣,但是如果有任何tbh,我会感到很惊讶。

CTLineRef line = CTLineCreateWithAttributedString((__bridge CFAttributedStringRef)attString);
line = CTLineCreateJustifiedLine(line, 1.0, dirtyRect.size.width);

CTLineDraw(line, context);
CFRelease(line);
链接地址: http://www.djcxy.com/p/81989.html

上一篇: Justified Alignment on LAST LINE of text

下一篇: How to get a proper, arbitrarily wide, text stroke?