#ios #swift #text #label #expandable
#iOS #swift #текст #метка #расширяемый
Вопрос:
Я пытаюсь создать расширяемую метку, которая выглядит как на картинке:
У меня две проблемы:
- Как мне заставить метку обрезать хвост таким образом, чтобы в ней оставалось достаточно места для большего количества кнопок / кликабельного текста?
- Как мне разместить больше текста?
Может быть, я делаю это неправильно? Может быть, вместо того, чтобы играть с количеством строк, мне следует попытаться вычислить, сколько текста занимает полторы строки, и представить только это, а затем при нажатии Еще я представляю весь текст целиком?
Был бы признателен за любой совет, спасибо!
Комментарии:
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")