Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dimpiax/flexibletableviewcontroller
Generic table view controller with external data processing
https://github.com/dimpiax/flexibletableviewcontroller
flexible library swift swift4 tableview
Last synced: 3 months ago
JSON representation
Generic table view controller with external data processing
- Host: GitHub
- URL: https://github.com/dimpiax/flexibletableviewcontroller
- Owner: dimpiax
- License: mit
- Created: 2015-03-26T14:52:30.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-01-08T23:24:29.000Z (almost 7 years ago)
- Last Synced: 2024-10-14T22:21:38.858Z (3 months ago)
- Topics: flexible, library, swift, swift4, tableview
- Language: Swift
- Homepage:
- Size: 116 KB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FlexibleTableViewController
[![Language](https://img.shields.io/badge/swift-4.0-fec42e.svg)](https://swift.org/blog/swift-4-0-released/)
[![Version](https://img.shields.io/cocoapods/v/FlexibleTableViewController.svg?style=flat)](http://cocoapods.org/pods/FlexibleTableViewController)
[![License](https://img.shields.io/cocoapods/l/FlexibleTableViewController.svg?style=flat)](http://cocoapods.org/pods/FlexibleTableViewController)
[![Platform](https://img.shields.io/cocoapods/p/FlexibleTableViewController.svg?style=flat)](http://cocoapods.org/pods/FlexibleTableViewController)Swift library of generic table view controller with external data processing of functionality,
like determine cell's `reuseIdentifier` related to `indexPath`,
configuration of requested cell for display and cell selection handler etc## Example
Initialization and cell registering.
```swift
let flexibleTableVC = FlexibleTableViewController>(style: .plain, configuration: TableConfiguation())
flexibleTableVC.register(CustomUITableViewCell.self, forCellReuseIdentifier: CustomUITableViewCell.reuseIdentifier)
```Define "reuse identifier" relatively to indexPath:
```swift
flexibleTableVC.requestCellIdentifier = { indexPath in
return CustomUITableViewCell.reuseIdentifier
}
```Configure cell relatively to data:
```swift
flexibleTableVC.configureCell = { (cell: UITableViewCell, data: CustomCellData?) in
guard let data = data else { return false }if let detailedData = data as? DetailedCustomCellData {
cell.textLabel?.text = detailedData.title
cell.detailTextLabel?.text = detailedData.detailed
}cell.backgroundColor = data.backgroundColor
return true
}
```Process cell select here:
```swift
flexibleTableVC.cellDidSelect = { indexPath in
// return true for immediately deselection
return true
}
```## Requirements
Updated to Swift 4
###### For Swift 3.1 version use [v.2.0.6](../../releases/tag/2.0.6)
###### For Swift 2.2 version use [v.1.1.0](../../releases/tag/1.1.0)## Installation
FlexibleTableViewController is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:```ruby
pod "FlexibleTableViewController"
```## Author
Pilipenko Dima, [email protected]
##### Also article on Medium: https://medium.com/@dimpiax/swift-flexibletableviewcontroller-dbd17087e0b9
## License
FlexibleTableViewController is available under the MIT license. See the LICENSE file for more info.