Я хотел получить межстрочный интервал шрифта в SwiftUI. Что-то вроде этого:
let font = UIFont.preferredFont(forTextStyle: .body)
font.lineSpacing // << not possible
Я могу получить pointSize и lineHeight, но не знаю, как рассчитать межстрочный интервал. Вроде бы 2, когда я пытался визуально это понять, но не уверен.
Я также пробовал использовать @Environment(\.lineSpacing) var spacing, но всегда возвращалось 0. Не уверен, как это используется.
Как найти межстрочный интервал определенного шрифта (например, шрифта .body по умолчанию)?
@Sweeper Я тоже пробовал использовать эту формулу, но результат был неверным. Я обновлю свой вопрос, добавив код
@Sweeper Кажется, расстояние между строками несколько завышено. Что приводит к его превышению





Свойство .leading определяет межстрочный интервал.
UIFont.preferredFont(forTextStyle: .body).leading // returns ~1.712
Вопрос какое-то время включал пример, в котором было 9 строк текста. Я попытался использовать GeometryReader, чтобы измерить полную высоту этого текста, и вычислил межстрочный интервал по формуле (h - (9 * lineHeight)) / 8.0. Я могу подтвердить, что результат составил 1,7186686197916643, что, по-видимому, очень близко соответствует значению, указанному в этом ответе.
См. stackoverflow.com/a/54184581/5133585