2011-01-31 2 views
3

Я обнаружил, что невозможно изменить высоту линии в UILabel. Облом. Кроме того, кажется, что пользовательские шрифты, которые я выбрал для использования, не используют свои собственные высоты линий по умолчанию при использовании с UILable.Изменение высоты линии подсчета/подделки в UILabel

Итак - кто-нибудь понял альтернативу? Является ли вычисление отдельных строк и создание новых UILabels для каждой линии единственным решением?

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

+1

Вы можете посмотреть в основной текст, если вы хотите иметь больше контроля над визуализацией текста (хотя это может выглядеть немного пугающим сначала). –

ответ

8

Я недавно написал класс, который использует CoreText для рисования текста с пользовательской высотой строки. Он работает почти как UILabel. Вы могут использовать его https://github.com/Tuszy/MTLabel

+0

У меня странные вещи, когда я использую ваш класс - особенно преждевременные разрывы линий. Есть ли какие-нибудь подсказки относительно того, что происходит? – achi

3

В качестве альтернативы использованию UILabel вы можете рассмотреть возможность использования нередактируемого UITextField в качестве псевдомаркировки.

+0

, тогда shadowOffset и shadowColor не работают. – horseshoe7

-1

Вы можете использовать это, если вы разрабатываете для прошивки> = 6,0

NSInteger strLength = [myString length]; 
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; 
[style setLineSpacing:24]; 
[attString addAttribute:NSParagraphStyleAttributeName 
        value:style 
        range:NSMakeRange(0, strLength)]; 
Смежные вопросы