в моем приложении есть функция, с помощью которой пользователь может добавить цвет фона к тексту
Итак, я добавил атрибут .backgroundColor, и он работает, но положение фона для разных шрифтов различно.Есть ли способ отредактировать размер фона строки и положение или я должен попробовать вместо этого отредактировать шрифты ttf?
Спасибо
Редактировать - Код:
Я попробовал 2 метода Первыйисключая пробелы:
var startIndex = self.text.startIndex
while let r = self.text.range(of: "\\S+", options: .regularExpression, range: startIndex..<self.text.endIndex) {
customizedText.addAttribute(.backgroundColor, value: highlightColor, range: NSRange(r, in: self.text))
startIndex = r.upperBound
}
Результат без пробелов
Еще один способ - просто добавить цвет фона для каждого символа:
customizedText.addAttribute(.backgroundColor, value: highlightColor, range: range)
Результат: целая строка
Задница, которую вы видите, она выглядит не очень хорошо при любом выравнивании, но слева.
Возможно, мы могли бы с этим смириться, но проблема в том, что это выглядит ужасно неправильнос некоторыми другими шрифтами
Примеры:
Гаятри Антон
Еще один пример того, что сейчас (красный) и что яхочу (белый): Желаемый результат
Есть идеи?Спасибо