Giter Site home page Giter Site logo

saku / expandablelabel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apploft/expandablelabel

0.0 3.0 0.0 1.55 MB

A simple UILabel subclass that shows a tappable link if the content doesn't fit the specified number of lines

License: MIT License

Swift 95.40% Ruby 4.60%

expandablelabel's Introduction

ExpandableLabel

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.

Installation

Add this to your Podfile:

pod "ExpandableLabel"

Add this to your Cartfile:

github "apploft/ExpandableLabel"

Run carthage to build the framework and drag the built ExpandableLabel.framework into your Xcode project.

Usage

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):

Note: In Carthage, set Module to ExpandableLabel.

expandableLabel.numberOfLines = 3

Apart from that, one can modify the following settings:

delegate

Set a delegate to get notified in case the link has been touched.

collapsed

Set true if the label should be collapsed or false for expanded.

expandableLabel.collapsed = true
collapsedAttributedLink

Set the link name (and attributes) that is shown when collapsed.

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

Set the link name (and attributes) that is shown when expanded. It is optional and can be nil.

expandableLabel.expandedAttributedLink = NSAttributedString(string: "Read Less")
setLessLinkWith(lessLink: String, attributes: [String: AnyObject], position: NSTextAlignment?)

Setter for expandedAttributedLink with caption, String attributes and optional horizontal alignment as NSTextAlignment. If the parameter position is nil, the collapse link will be inserted at the end of the text.

expandableLabel.setLessLinkWith(lessLink: "Close", attributes: [NSForegroundColorAttributeName:UIColor.red], position: nil)

ellipsis

Set the ellipsis that appears just after the text and before the link.

expandableLabel.ellipsis = NSAttributedString(string: "...")

License

ExpandableLabel is available under the MIT license. See the LICENSE file for more info.

expandablelabel's People

Contributors

beiliubei avatar czgarrett avatar elegyd avatar justinctlam avatar lj-dickey avatar michaelkamphausen avatar mkoehnke avatar sammy-sc avatar samukei avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.