Рисование NSAttributedString в непрямоугольный CGPath? - PullRequest
2 голосов
/ 05 ноября 2010

Я генерирую довольно сложную NSAttributedString в моем приложении iOS 3.2 (iPad), включая параметры форматирования типа CTParagraphStyleSetting, в частности со значениями для kCTParagraphStyleSpecifierMinimumLineHeight и kCTParagraphStyleSpecifierParagraphSpacing.

Когда я пытаюсь нарисовать эту приписанную строку в непрямоугольном CGPath, Core Text рисует его, но без определения межстрочного интервала; то есть весь текст выглядит забитым в абзацах без межстрочного интервала. Излишне говорить, что это выглядит не так красиво, как если бы CGPath был просто определен с помощью одного вызова CGPathAddRect ()!

Могу ли я указать какую-либо настройку (для моего CTFramesetterRef или для CTFrameRef, связанного с преступником CGPath), чтобы избежать потери всей информации о высоте строки?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 29 декабря 2010

Руководство по программированию CoreText указывает, что разрешен только прямоугольный CGPath:

http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/CoreText_Programming/Overview/Overview.html#//apple_ref/doc/uid/TP40005533-CH3-SW1

1 голос
/ 11 декабря 2013

Начиная с iOS 4.2, Core Text принимает непрямоугольные пути.См. Документы для CTFramesetterCreateFrame:

http://developer.apple.com/library/iOS/documentation/Carbon/Reference/CTFramesetterRef/Reference/reference.html#//apple_ref/c/func/CTFramesetterCreateFrame

Образец см. В разделе «Отображение текста в непрямоугольной области»:

https://developer.apple.com/library/iOS/documentation/StringsTextFonts/Conceptual/CoreText_Programming/LayoutOperations/LayoutOperations.html#//apple_ref/doc/uid/TP40005533-CH12-SW9

...