Можно ли выделить подстроку текста внутри ячейки tableView? - PullRequest
0 голосов
/ 28 января 2019

У меня есть табличное представление, в котором я могу осуществлять поиск с помощью панели поиска.

Я хотел бы выделять или выделять жирным шрифтом те части текста, которые соответствуют строке, переданной в панель поиска.

Например, если табличное представление содержит: «Apple» и «Orange» и я набираю букву «a», я бы хотел, чтобы ячейки теперь содержали « A pple» и «Or * 1007».* a nge "

Из-за большого количества поисков я не нашел способа изменить подстроки текста в свойстве заголовка табличного представления.

У кого-нибудь есть идеи, если это вообще возможно?

Примерно вот что я пытаюсь достичь в табличном представлении:

Something like this is what I am trying to achieve

1 Ответ

0 голосов
/ 29 января 2019

Пожалуйста, попробуйте это:

func attributedText(withString string: String, boldString: String, font: UIFont) -> NSAttributedString {
  let attributedString = NSMutableAttributedString(string: string,
                                             attributes: [NSAttributedString.Key.font: font])
  let boldFontAttribute: [NSAttributedString.Key: Any] = [NSAttributedString.Key.font: UIFont.boldSystemFont(ofSize: font.pointSize)]
  let range = (string as NSString).range(of: boldString)
  attributedString.addAttributes(boldFontAttribute, range: range)
  return attributedString
}

Передайте итоговую строку и строку поиска в методе cellForRowAtIndexPath и присвойте возвращаемую attributedString метку

Это может помочь вам.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...