2016-11-30 4 views
1

У меня есть некоторые требования, чтобы текст в приложении должен соответствовать условиям брендинга компании. В частности, текст должен содержать отслеживание и ведущие значения. Отслеживание не существует в iOS, но я нашел что-то в строке для преобразования значений отслеживания шрифта в значения шрифта.Как добавить ключевое слово в текст?

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

«.. для более крупного размера (выше 18pt) мы также подключаем значение +2 к размеру точки типа в ведущее». Также есть таблица размеров шрифтов, используемых в приложении, и связанных значений, которые будут использоваться для ведущих (30, 26, 20, 18, 12).

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

Я видел here, который говорит

«NSStringDrawingUsesFontLeading. - ведущий шрифт в основном означает линию расстояние Этот флаг указывает на вызов, чтобы сделать использование по умолчанию линии расстояния определяется шрифтом.»

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

+0

Что относительно 'NSKernAttributeName' или [это (найдено в 10 с Google)] (http://www.devsign.co/notes/tracking-and-character-spacing)? –

+0

@ смысл-дела Если кернинг такой же, как и ведущий, то это звучит многообещающе. Я новичок в отношении шрифтов, следовательно, не знал, что кернинг - это поисковый термин, который можно использовать для Google, я использовал лидерство в качестве поискового термина. – Gruntcakes

+0

Не волнуйся, мне тоже пришлось это посмотреть ;-) Типография - чертовски интересная, не так ли! –

ответ

0

Я хотел бы предложить вам создать подкласс NSAttributedString или категорию, которая имеет дополнительное NSString свойства и свойство размера шрифта (или enum, если вы хотите, чтобы назвать различные шрифты, например HeaderFont, ..., которые затем определяет размер и, возможно, другие атрибуты).

В методе 'set' этого свойства NSString вы затем вводите код для настройки различных атрибутов.

Таким образом, вы скрываете все эти неприятные детали, сохраняя их в одном центральном месте и заканчивая очень простым классом.

Может выглядеть примерно так:

UILabel* someLabel; 

someLabel.attributedText = [[MyAttributedString alloc] initWithText:"Hello" font:HeaderFont]; 

Удачи!

Смежные вопросы