A TextView that provides easy to use tagging feature for Mention or Hashtag
Tagging
A TextView that provides easy to use tagging feature for Mention or Hashtag.
Introduction
Tagging is a UIView that encloses a TextView that contains an algorithm for tagging.
If you're worried about implementing Mention
or Hashtag
in your app, you can easily implement them using the library.
Getting Started
-
Add
Tagging
to the view as a subview. -
Set the list that you want to tag and tag symbol to
Tagging
.
tagging.symbol = "#"
tagging.tagableList = ["DOOMFIST", "GENJI", "MCCREE", "PHARAH", "REAPER", "SOLDIER:76", "SOMBRA", "TRACER", "BASTION", "HANZO", "JUNKRAT", "MEI", "TORBJORN", "WIDOWMAKER", "D.VA", "ORISA", "REINHARDT", "ROADHOG", "WINSTON", "ZARYA", "ANA", "BRIGITTE", "LUCIO", "MERCY", "MOIRA", "SYMMETRA", "ZENYATTA"]
- Implement TaggingDataSource on the class that added the
Tagging
.
tagging.dataSource = self
- Get tagable list and tagged list through
TaggingDataSource
.
func tagging(_ tagging: Tagging, didChangedTagableList tagableList: [String]) {
matchedList = tagableList
}
func tagging(_ tagging: Tagging, didChangedTaggedList taggedList: [TaggingModel]) {
self.taggedList = taggedList
}
Usage
Tagging Property
Property | Type | Description |
---|---|---|
cornerRadius |
CGFloat |
Corner radius |
borderWidth |
CGFloat |
Border width |
borderColor |
CGColor |
Border color |
textInset |
UIEdgeInsets |
Text inset |
backgroundColor |
UIColor |
Background color |
symbol |
String |
Tagging symbol |
tagableList |
[String] |
Tagable list |
defaultAttributes |
[NSAttributedStringKey: Any] |
Default attributes for all range attributedText of Textview |
symbolAttributes |
[NSAttributedStringKey: Any] |
Aattributes for symbol text |
taggedAttributes |
[NSAttributedStringKey: Any] |
Attributes for tagged text |
Installation
CocoaPods (iOS 8+)
platform :ios, '8.0'
use_frameworks!
target '<Your Target Name>' do
pod 'Tagging'
end
Carthage (iOS 8+)
github "k-lpmg/Tagging"
LICENSE
These works are available under the MIT license. See the LICENSE file
for more info.