Выравнивание текста по размеру по вертикали по центру вместо базовой линии с Core Text в iOS - PullRequest
0 голосов
/ 11 октября 2010

Можно ли выровнять многоразмерный текст, ограничивая центр (каждого размера) вместо базовой линии?

Я попробовал функцию CTRunDelegate, но она не работает.Это было возможно с CTRunDelegateCallbacks.getAscent и CTRunDelegateCallbacks.getDescent, но эта функция не работает.Работало только CTRunDelegateCallbacks.getWidth.Мне удалось выложить многоразмерный текст, изображения и любые другие объекты, но поддерживается только выравнивание базовой линии.

Ответы [ 2 ]

2 голосов
/ 29 июня 2011

Методы делегата запуска getAscent и getDescent фактически вызваны (это работает в моем собственном коде). Конечно, имеет смысл, что это не меняет базовую линию (и, таким образом, не меняет способ отображения текста относительно другого текста в строке), поскольку подъем и спуск относительно базовой линии.

Было бы удобно иметь, возможно, getBaselineOffset, но, к сожалению, этого не существует.

Я предлагаю использовать обратные вызовы делегата запуска, чтобы зарезервировать место для текста с различной базовой линией, а затем во втором проходе нарисовать другой текст с другой базовой линией.

0 голосов
/ 20 ноября 2010

Это было невозможно до сих пор. Я относительно этого не возможно для текущей версии Core Text.

...