Ipad 将NSAttribute字符串绘制到非矩形CGPath中?

Ipad 将NSAttribute字符串绘制到非矩形CGPath中?,ipad,core-text,nsattributedstring,Ipad,Core Text,Nsattributedstring,我在iOS 3.2应用程序(iPad)中生成了一个相当复杂的NSAttributed字符串,包括CTParagraphStyleSetting类型的格式选项,特别是kCTParagraphStyleSpecifierMinimumLineHeight和kCTParagraphStyleSpecifierParagraphSpacing的值 当我尝试将这个属性化字符串绘制成非矩形CGPath时,核心文本绘制它,但没有定义行距;也就是说,所有文本似乎都塞满了没有行距的段落。不用说,它看起来不像只使用

我在iOS 3.2应用程序(iPad)中生成了一个相当复杂的NSAttributed字符串,包括CTParagraphStyleSetting类型的格式选项,特别是kCTParagraphStyleSpecifierMinimumLineHeight和kCTParagraphStyleSpecifierParagraphSpacing的值

当我尝试将这个属性化字符串绘制成非矩形CGPath时,核心文本绘制它,但没有定义行距;也就是说,所有文本似乎都塞满了没有行距的段落。不用说,它看起来不像只使用一个对CGPathAddRect()的调用来定义CGPath那么漂亮

我是否可以指定任何设置(到我的CTFramesetterRef或到与罪魁祸首CGPath关联的CTFrameRef)以避免丢失所有线高度信息


谢谢

CoreText编程指南指出,仅允许矩形CGPath:


从iOS 4.2开始,核心文本接受非矩形路径。请参阅CTFramesetterCreateFrame的文档:

有关示例,请参见“在非矩形区域中显示文本”:


只是一个问题:您是否在非矩形cgpath上绘制了几乎正确的文本(除了线宽以外)?是的,您可以创建任意形状的cgpath,并且文本绘制在内部-尽管没有正确的线宽。这真的很酷:)问题是,你实际上可以在非矩形形状上绘制NSAttributedString,但是当你这样做的时候,它的一些属性就丢失了。在我的例子中,行高和段落设置丢失。。。我想知道是否有办法解决这个问题。