UIFont с пользовательским ведущим? - PullRequest
3 голосов
/ 23 марта 2009

Я хотел бы использовать системный шрифт, но с пользовательским ведущим, но ведущее свойство UIFont доступно только для чтения. Есть ли способ создать системный шрифт с пользовательским начальным значением?

Я пытаюсь отобразить несколько строк с помощью UILabel, но ведущий по умолчанию слишком узкий. (\ n \ n слишком широкий)

Если нет пути, тогда мне нужно создать несколько UILabel, но это кажется немного излишним.

Ответы [ 3 ]

2 голосов
/ 14 мая 2009

Я думаю, ты не можешь этого сделать. UIFont довольно сильно ограничен.

Если вы сами разбиваете строки, то довольно просто нарисовать строку, а не создавать несколько UILabel. Вы можете генерировать подстроки, используя – componentsSeparatedByString:, и отображать каждую из них с указанными начальными приращениями, используя дополнение UIKit NSString: – drawAtPoint:withFont:.

Если вам нужно создать собственную упаковку, это сложно - см. этот связанный вопрос .

1 голос
/ 29 апреля 2014

Есть способ настроить межстрочный интервал в многострочном UILabel. Вместо использования атрибута text метки используйте свойство attributedText. Приписанный текст может иметь стиль абзаца с отрицательным значением lineSpacing, чтобы сделать линии ближе друг к другу. Вот пример:

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineSpacing = -4;

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:yourStringHere];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, titleText.length)];
yourUILabel.attributedText = attributedString;
0 голосов
/ 30 июня 2010

Это можно сделать, создав пользовательскую категорию в UIFont и заменив свойство lading пользовательским установщиком. Я все еще пытаюсь сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...