Skip to content

UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift

License

Notifications You must be signed in to change notification settings

gujian/ActiveLabel.swift

 
 

Repository files navigation

ActiveLabel.swift Carthage compatible Build Status

UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift

Features

  • Up-to-date: Swift 2 (Beta 6)
  • Support for Hashtags, Mentions and Links
  • Super easy to use and lightweight
  • Works as UILabel drop-in replacement
  • Well tested and documented

Usage

import ActiveLabel

let label = ActiveLabel()

label.numberOfLines = 0
label.text = "This is a post with #hashtags and a @userhandle."
label.textColor = .blackColor()
label.handleHashtagTap { hashtag in
  print("Success. You just tapped the \(hashtag) hashtag")
}

API

mentionEnabled: Bool = true
hashtagEnabled: Bool = true
URLEnabled: Bool = true
mentionColor: UIColor = .blueColor()
mentionSelectedColor: UIColor?
hashtagColor: UIColor = .blueColor()
hashtagSelectedColor: UIColor?
URLColor: UIColor = .blueColor()
URLSelectedColor: UIColor?
lineSpacing: Float?
handleMentionTap: (String) -> ()
label.handleMentionTap { userHandle in print("\(userHandle) tapped") }
handleHashtagTap: (String) -> ()
label.handleHashtagTap { hashtag in print("\(hashtag) tapped") }
handleURLTap: (NSURL) -> ()
label.handleURLTap { url in UIApplication.sharedApplication().openURL(url) }

Install (iOS 8+)

Carthage

Add the following to your Cartfile and follow these instructions

github "optonaut/ActiveLabel.swift" >= 0.1.0

About

UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 97.5%
  • C++ 2.5%