SelectionList
  • October 7, 2023

Simple single-selection or multiple-selection checklist, based on UITableView.

Usage


 

let selectionList = SelectionList()
selectionList.items = [“One”, “Two”, “Three”, “Four”, “Five”]
selectionList.addTarget(self, action: #selector(selectionChanged), for: .valueChanged)
selectionList.selectedIndex = 3

Multiple Selection


selectionList.allowsMultipleSelection = true
selectionList.selectedIndexes = [0, 1, 4]

Changing Appearance


The following properties can be changed either in Interface Builder or in code:

selectionList.selectionImage = UIImage(named: “v”)
selectionList.deselectionImage = UIImage(named: “o”)
selectionList.isSelectionMarkTrailing = false // to put checkmark on left side
selectionList.rowHeight = 42.0

You can do additional styling in code:

selectionList.setupCell = { (cell: UITableViewCell, index: Int) in
cell.textLabel?.textColor = .gray
}

If you want to remove the cells seperators

selectionList.tableView.separatorStyle = .none

Requirements


  • iOS 9.0+
  • Xcode 9+

Installation


CocoaPods

pod ‘SelectionList’

Legacy versions:

Swift version SelectionList version
4.1 (Xcode 9.4) pod 'SelectionList', '~> 1.2.0'
4.0 pod 'SelectionList', '~> 1.0.2'

Swift Package Manager

dependencies: [
.package(url: “https://github.com/yonat/SelectionList”, from: “1.4.2”)
]

GitHub


View Github

#checkbox #radiobuttons #swift #uitableview
YOU MIGHT ALSO LIKE...
Popup View

Floaters Toasts Popups Sheets

Drops 💧

A µFramework for showing alerts like the one used when copying from pasteboard or connecting Apple pencil.

MarqueeText

A SwiftUI Marquee or "scrolling text" effect found in Apple native apps. For when one line isn't enough, but two ...

TextBuilder

Introduction Text composition in SwiftUI can often be cumbersome, especially when there's logic affecting its format and content. TextBuilder leverages the ...

TextView

Download File -> Swift Packages -> Add Package Dependency... Select your project Enter https://github.com/kenmueller/TextView for the package repository URL Select Branch: master Click Finish ...