Home

Awesome

Tagging

Build Status Swift Cocoapods Carthage compatible

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.

tagging

Getting Started

  1. Add Tagging to the view as a subview.

  2. 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"]
  1. Implement TaggingDataSource on the class that added the Tagging.
tagging.dataSource = self
  1. 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

PropertyTypeDescription
cornerRadiusCGFloatCorner radius
borderWidthCGFloatBorder width
borderColorCGColorBorder color
textInsetUIEdgeInsetsText inset
backgroundColorUIColorBackground color
symbolStringTagging 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.