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 #checklist #radiobutton #radiobuttons #selectionmenu #swift #uitableview
YOU MIGHT ALSO LIKE...
EEStackLayout

A vertical stackview which takes subviews with different widths and adds them to it's rows with paddings, spacings etc.

AudioManager

AudioManager is a Swift package that provides a modular and easy-to-use interface for implementing audio feedback in your applications. It ...

CameraBackground

Features Both front and back camera supported. Flash modes: auto, on, off. Countdown timer. Tap to focus. Pinch to zoom. Usage  

DKCamera

Description A light weight & simple & easy camera for iOS by Swift. It uses CoreMotion framework to detect device orientation, so ...