Skip to content

ingenuity-ph/IGCStatefulView

Repository files navigation

IGCStatefulView

CI Status Version License Platform

Example

IGCStatefulView

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

IGCStatefulView is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'IGCStatefulView'

Overview

A big thanks to Sauvik Dolui and his library, SDStateTableView for giving me the inspiration to create my own take on stateful views.

Usage

It serves as an extension to UIView instances, wherein it adds a configureViewDataState method. It accepts a pre-defined IGCStatefulView enum value. Sample usage is as follows:

// UIView
self.infoView.configureViewDataState(as: .loading(message: nil, styles: nil))

// UITableView
self.tableView.configureViewDataState(as: .loading(message: "Loading...", styles: nil))

// UICollectionView
self.collectionView.configureViewDataState(as: .success)

Custom styling is available but fairly limited to a few options for each of IGCStateView instance's properties. Styling is made easy by using the IGCStateViewStyles struct, wherein all styling options has been defined along with its initial values. Sample usage is as follows:

Code

IGCStatefulView

Output

IGCStatefulView

TODO

  1. Fix to iPhone X issue.

Contributing

  1. Fork repository.
  2. Create your feature branch: git checkout -b feature/<feature-name>.
  3. Commit your changes: git commit -am 'Add some feature'.
  4. Push to the branch: git push origin feature/<feature-name>.
  5. Submit a pull request.

Author

Jason Jon E. Carreos (jason@ingenuity.ph)

License

IGCStatefulView is available under the MIT license. See the LICENSE file for more info.