Как я могу вертикально центрировать линию в NSAttributedString с различными шрифтами?

У меня есть NSAttributedString который является "таблицей", используя NSTextTab останавливается, когда первый столбец является ключом, а второй столбец является значением

Как это:

|  **KEY 1**|value1|
|**KEY TWO**|value2|

Шрифт для КЛЮЧЕЙ другой размер / вес + это все заглавные буквы. Строки выровнены так, что основания всех букв совпадают. Я хотел бы подтолкнуть значения вверх по вертикали, чтобы они казались вертикально центрированными с помощью КЛЮЧЕЙ.

Есть какой-либо способ сделать это? Это кажется очень специализированным, но с точки зрения дизайна я думаю, что это будет выглядеть намного лучше

1 ответ

Решение

Я не пробовал это, но кажется, что вы должны быть в состоянии использовать NSBaselineOffsetAttributeName за это. Вот что говорят об этом доктора:

Значением этого атрибута является объект NSNumber, содержащий значение с плавающей запятой, указывающее смещение символа от базовой линии в пунктах. Значением по умолчанию является 0.

Таким образом, вам, вероятно, придется вычислить количество точек, необходимое для перемещения значений вверх - я думаю, это будет вдвое меньше различий в размерах шрифта между ключами и значениями. Тогда подать заявку NSBaselineOffsetAttributeName с таким количеством точек к тексту для значений.

Другие вопросы по тегам