Можно ли установить высоту линии меньше 1 в Swift? - PullRequest
0 голосов
/ 25 апреля 2019

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

У меня есть код, подобный этому вопросу: Как увеличить межстрочный интервал в UILabel в Swift

let title = "This is text that will be long enough to form two lines"
let styles = NSMutableParagraphStyle()
styles.lineSpacing = 0.1
let attribs = [
    NSAttributedString.Key.paragraphStyle:styles
]
let attrString:NSAttributedString = NSAttributedString.init(string: title, attributes: attribs)
introText.attributedStringValue = attrString

Хотя изменение lineSpacing на 10 имеет заметную разницу, я не вижу разницы, если я сделаю его меньше 1.

Вот как выглядит 0.1:

enter image description here

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

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

0 голосов
/ 25 апреля 2019

Имейте в виду отношение точек к пикселям. Для большинства последних устройств точка представляет собой два или три пикселя. Я установил UIView с высотой 0,5, используемый в качестве разделителя, который составляет около 1 пикселя на многих устройствах, и смог увидеть разницу. Высота 0,1, вероятно, округляется до нуля, хотя.

...