Как редактировать размер и положение фона NSAttributedstring с помощью Swift - PullRequest
0 голосов
/ 28 сентября 2019

в моем приложении есть функция, с помощью которой пользователь может добавить цвет фона к тексту

Итак, я добавил атрибут .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)

Результат: целая строка

Задница, которую вы видите, она выглядит не очень хорошо при любом выравнивании, но слева.

Возможно, мы могли бы с этим смириться, но проблема в том, что это выглядит ужасно неправильнос некоторыми другими шрифтами

Примеры:

Гаятри Антон

Еще один пример того, что сейчас (красный) и что яхочу (белый): Желаемый результат

Есть идеи?Спасибо

...