All Projects → odigeoteam → TableViewKit

odigeoteam / TableViewKit

Licence: MIT License
Empowering UITableView with painless multi-type cell support and built-in automatic state transition animations

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to TableViewKit

Swipecellkit
A swipeable UITableViewCell or UICollectionViewCell with support for:
Stars: ✭ 5,745 (+5371.43%)
Mutual labels:  uitableview, uikit, uitableviewcell
Reverseextension
A UITableView extension that enables cell insertion from the bottom of a table view.
Stars: ✭ 1,631 (+1453.33%)
Mutual labels:  uitableview, uitableviewcell
Gskstretchyheaderview
A generic stretchy header for UITableView and UICollectionView
Stars: ✭ 1,624 (+1446.67%)
Mutual labels:  uitableview, uikit
Automatic Height Tagcells
This is a sample project to implement features with dynamic height of UITableViewCell based on autolayout, tags aligned automatically and clickable tags.
Stars: ✭ 229 (+118.1%)
Mutual labels:  uitableview, uitableviewcell
Datasource
Simplifies the setup of UITableView data sources using type-safe descriptors for cells and sections. Animated diffing built-in.
Stars: ✭ 72 (-31.43%)
Mutual labels:  uitableview, uitableviewcell
Basecomponents
BaseComponents aims to provide easily reusable and understandable components to increase productivity with UIKit and Foundation APIs
Stars: ✭ 92 (-12.38%)
Mutual labels:  uitableview, uikit
Expandabletable
AZExpandable is a lightweight proxy for UITableView to expand cells.
Stars: ✭ 218 (+107.62%)
Mutual labels:  uitableview, uitableviewcell
Gltablecollectionview
Netflix and App Store like UITableView with UICollectionView, written in pure Swift 4.2
Stars: ✭ 709 (+575.24%)
Mutual labels:  uitableview, uitableviewcell
AUPickerCell
Embedded picker view for table cells.
Stars: ✭ 19 (-81.9%)
Mutual labels:  uitableview, uitableviewcell
TreeView
"TreeView - sub-cells simplified" (c). Enable subcells in UITableView with a single drop-in extension. CocoaPod:
Stars: ✭ 54 (-48.57%)
Mutual labels:  uitableview, uitableviewcell
StackableTableView
A UITableView subclass that enables setting an array of views for both headers and footers utilizing UIStackView
Stars: ✭ 72 (-31.43%)
Mutual labels:  uitableview, uikit
Mdl11 generics
Example project that was demonstrated on MDL #11 meetup - https://www.youtube.com/watch?v=A4FrEyFBjVA. Medium article - https://medium.com/chili-labs/configuring-multiple-cells-with-generics-in-swift-dcd5e209ba16
Stars: ✭ 50 (-52.38%)
Mutual labels:  uitableview, uitableviewcell
Pagingkit
PagingKit provides customizable menu UI. It has more flexible layout and design than the other libraries.
Stars: ✭ 1,030 (+880.95%)
Mutual labels:  uitableview, uikit
Tdbadgedcell
TDBadgedCell is a table view cell class that adds a badge, similar to the badges in Apple's own apps
Stars: ✭ 1,444 (+1275.24%)
Mutual labels:  uitableview, uitableviewcell
Viewanimator
ViewAnimator brings your UI to life with just one line
Stars: ✭ 6,592 (+6178.1%)
Mutual labels:  uitableview, uikit
Pbtreeview
An UITreeView implementation from UITableView that Apple missed in its UIKit framework. And it is in pure Swift.
Stars: ✭ 128 (+21.9%)
Mutual labels:  uitableview, uikit
Tablekit
Type-safe declarative table views.
Stars: ✭ 567 (+440%)
Mutual labels:  uitableview, uitableviewcell
UITableViewCellAnimation
Basic tabeview cell animation for best way to display cell
Stars: ✭ 31 (-70.48%)
Mutual labels:  uitableview, uitableviewcell
Squaremosaiclayout
An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶
Stars: ✭ 243 (+131.43%)
Mutual labels:  uitableview, uikit
Multiple-collectionView-in-Multiple-tableView-cells
UICollectionView is embed in UITableViewCell. The collection views are horizontal scrollable. The UITableView can have a section title for each UICollectionView and the number of UICollectionView is equal to the number of sections.
Stars: ✭ 23 (-78.1%)
Mutual labels:  uitableview, uitableviewcell

TableViewKit


Empowering UITableView with painless multi-type cell support and built-in automatic state transition animations

Getting Started

Overview

TableViewKit is designed:

  • to easily develop custom sections with different headers, footers and multiple cell types
  • to support stateful sections
  • to enforce reusability and testability
  • and last but not least, to forget UITableView's delegates

Quickstart

Create an TableItem with a UITableViewCell and CellDrawer. An item may have a model of the data you want to display and may control the interaction if any.

class YourDrawer: CellDrawer {

    // The type could be a custom UITableViewCell class, with or without a Nib
    static var type = CellType.class(YourCustomCell.self)

    static func draw(_ cell: YourCustomCell, with item: YourItem) {
        // Draw by setting properties of your cell from the item
    }
}

class YourItem: TableItem {

    var drawer = AnyCellDrawer(YourDrawer.self)

    // Your properties and methods

    public init() { }
}

Create a custom TableSection with your items.

class YourSection: TableSection {
    var items: ObservableArray<TableItem>

    var header: HeaderFooterView = .title("Your section")

    public init() {
      items = [YourItem(), AnotherItem(), AndAnotherItem()]
    }
}

Ready to go, instantiate a TableViewManager, in your UIViewController with a UITableView and the array of custom sections

class ViewController: UIViewController {
    var tableViewManager: TableViewManager!

    @IBOutlet weak var tableView: UITableView! {
        didSet {
            tableViewManager = TableViewManager(tableView: tableView, sections: [CustomSection])
        }
    }
}

Examples

Requirements

  • Xcode 8 or higher
  • iOS 8.0 or higher

Installation

CocoaPods

You can use CocoaPods to install TableViewKit by adding it to your Podfile:

platform :ios, '8.0'
use_frameworks!
pod 'TableViewKit'

To get the full benefits import TableViewKit wherever you import UIKit

import UIKit
import TableViewKit

Carthage

Create a Cartfile that lists the framework and run carthage bootstrap. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/TableViewKit.framework to an iOS project.

github "odigeoteam/TableViewKit"

Manually

  1. Download and drop /TableViewKit folder in your project.
  2. Congratulations!

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].