iOS: создание расширяемой метки

#ios #swift #text #label #expandable

#iOS #swift #текст #метка #расширяемый

Вопрос:

Я пытаюсь создать расширяемую метку, которая выглядит как на картинке: введите описание изображения здесь

У меня две проблемы:

  1. Как мне заставить метку обрезать хвост таким образом, чтобы в ней оставалось достаточно места для большего количества кнопок / кликабельного текста?
  2. Как мне разместить больше текста?

Может быть, я делаю это неправильно? Может быть, вместо того, чтобы играть с количеством строк, мне следует попытаться вычислить, сколько текста занимает полторы строки, и представить только это, а затем при нажатии Еще я представляю весь текст целиком?

Был бы признателен за любой совет, спасибо!

Комментарии:

1. Как вы собираетесь поместить ее обратно после расширения текстовой метки?

2. Я думаю, вы можете добавить кнопку, чтобы перекрывать конец последней строки текстовой метки. Как это делает Apple в App Store: prnt.sc/pdsc4f

Ответ №1:

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

https://github.com/apploft/ExpandableLabel

Укажите количество строк, которые вы хотите отображать по умолчанию.

 expandableLabel.numberOfLines = 2
  

Установите значение true, если метка должна быть свернута, или false для expanded.

 expandableLabel.collapsed = true
  

collapsedAttributedLink
Задайте имя ссылки, которое отображается при сворачивании.

 expandableLabel.collapsedAttributedLink = NSAttributedString(string: "More")
  

Расширенная атрибутивная ссылка
Задайте имя ссылки, которое отображается при развертывании. Это необязательно и может быть равно нулю.

 expandableLabel.expandedAttributedLink = NSAttributedString(string: "Less")