Когда я рисую привязанную строку с фиксированной высотой строки с помощью Text Kit, символы всегда выравниваются в нижней части фрагмента строки. Хотя это имеет смысл в одной строке с разными символами, это нарушает поток текста с несколькими строками. Исходные линии определяются самым большим descender для каждой линии.Выровнять базовые линии с символами в больших строках с помощью текстового набора
Я нашел article от людей за эскиз, объясняющих эту точную проблему в немного более подробно и показывая, что делает их решение, но, очевидно, не объясняя как они достигли этого.
Это то, что я хочу в принципе:
При показе две строки с большой высоты строки, этот результат далек от идеала:
код я использую:
let smallFont = UIFont.systemFont(ofSize: 15)
let bigFont = UIFont.systemFont(ofSize: 25)
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.minimumLineHeight = 22
paragraphStyle.maximumLineHeight = 22
var attributes = [
NSFontAttributeName: smallFont,
NSParagraphStyleAttributeName: paragraphStyle
]
let textStorage = NSTextStorage()
let textContainer = NSTextContainer(size: CGSize(width: 250, height: 500))
let layoutManager = NSLayoutManager()
textStorage.append(NSAttributedString(string: "It is a long established fact that a reader will be ", attributes:attributes))
attributes[NSFontAttributeName] = bigFont
textStorage.append(NSAttributedString(string: "distracted", attributes:attributes))
attributes[NSFontAttributeName] = smallFont
textStorage.append(NSAttributedString(string: " by the readable content of a page when looking at its layout.", attributes:attributes))
layoutManager.addTextContainer(textContainer)
textStorage.addLayoutManager(layoutManager)
let textView = UITextView(frame: self.view.bounds, textContainer:textContainer)
view.addSubview(textView)
Можете ли вы разместить информацию? Мне любопытно, что вы с этим делаете. – ctietze
Обновлено простой реализацией – Pim