ExpandableLabel is a simple UILabel subclass that shows a tappable link if the content doesn't fit the specified number of lines. If touched, the label will expand to show the entire content.
Install via cocoapods by adding this to your Podfile:
pod "ExpandableLabel"
Using ExpandableLabel is very simple. In your storyboard, set the custom class of your UILabel to ExpandableLabel and set the desired number of lines (for the collapsed state):
expandableLabel.numberOfLines = 3
Apart from that, one can modify the following settings:
Set a delegate to get notified in case the link has been touched.
Set true if the label should be collapsed or false for expanded.
expandableLabel.collapsed = true
Set the link name (and attributes) that is shown when collapsed.
expandableLabel.collapsedAttributedLink = NSAttributedString(string: "Read More")
Set the ellipsis that appears just after the text and before the link.
expandableLabel.ellipsis = NSAttributedString(string: "...")
ExpandableLabel is available under the MIT license. See the LICENSE file for more info.