Latest 1.0.6
License MIT
Platforms ios 11.0, requires ARC
Frameworks UIKit

Build Status

This library provides a UI Control for displaying a Likert Scale question



  • [x] Ability to ask a Likert Scale question
  • [x] Ability to select an answer – strongly agree, agree, neutral, disagree or strong disagree
  • [x] Ability to skin the UI with fonts, colours, etc
  • [x] Ability to add the control via Interface Builder or programmatically


  • Swift 4.2 required
  • iOS 11.0 or later
  • macOS 10.13 or later
  • Xcode 10 beta 4 or later

How To Use

The library is all the Swift files in the Source folder. You can just drag and drop those files into your project or use the cocoapod pod 'TDLikertScaleSelectorView'.

The TDLikertScaleSelectorView class is the main UIView class containing the answer options / selections. You can add the UIView through code as shown below, or through Interface Builder. Implement a concrete class or struct of the TDSelectionBuildConfig protocol to skin / theme the controls to your needs. Clone the entire project to see demo use – the main storyboard and viewcontroller shows how to use the library.

import TDLikertScaleSelectorView

struct MyBuildConfig: TDSelectionBuildConfig {
    var font: UIFont? = UIFont.systemFont(ofSize: 15)
    var textColor: UIColor?  = UIColor.purple
    var backgroundColorNormal: UIColor? = UIColor.clear
    var backgroundColorHighlighted: UIColor? = UIColor.lightGray
    var backgroundColorSelected: UIColor? =
    var backgroundColorHighlightedSelected: UIColor? = UIColor.lightGray
    var borderColor: UIColor? = .purple
    var borderWidth: CGFloat? = 2.0
    var buttonRadius: CGFloat? = 22
    var lineColor: UIColor? = .purple

var config = MyBuildConfig()
let likertView = TDLikertScaleSelectorView(withConfig: config)
likertView.delegate = self
likertView.tag = 1 // could be question number

extension ViewController: TDLikertScaleDelegate {
    func didSelect(category cat: TDSelectionCategory, tag: Int) {
        print("Question with tag (tag) has answer (cat.localizedName)")

Latest podspec

    "name": "TDLikertScaleSelectorView",
    "version": "1.0.6",
    "summary": "Likert Scale Question iOS UI",
    "description": "This library provides a UI Control for displaying a Likert Scale question",
    "homepage": "",
    "screenshots": "",
    "license": {
        "type": "MIT"
    "authors": "Paul Leo",
    "platforms": {
        "ios": "11.0"
    "source": {
        "git": "",
        "tag": "1.0.6"
    "module_name": "TDLikertScaleSelectorView",
    "swift_version": "4.2",
    "source_files": "TDLikertScaleSelectorView/Source/*.swift",
    "frameworks": "UIKit",
    "requires_arc": true

Pin It on Pinterest

Share This