## Contents
* [Requirements](#Requirements)
* [Installation](#installation)
* [Usage](#usage)
+ [Simple Example](#simple-example)
+ [RowFormer](#rowformer)
+ [ViewFormer](#viewformer)
+ [SectionFormer](#sectionformer)
+ [Former](#former)
+ [Customizability](#customizability)
* [Contributing](#contributing)
* [Submitting Issues](#submitting-issues)
* [Submitting Feature Requests](#submitting-feature-requests)
* [License](#license)
## Requirements
- Xcode 10+
- Swift 4.2+
- iOS 10.0+
_Still wanna use iOS7 and swift 2.2 or 2.3?_
-> You can use [1.4.0](https://github.com/ra1028/Former/tree/1.4.0) instead.
## Installation
#### [CocoaPods](https://cocoapods.org/)
Add the following line to your Podfile:
```ruby
use_frameworks!
target 'YOUR_TARGET_NAME' do
pod 'Former'
end
```
#### [Carthage](https://github.com/Carthage/Carthage)
Add the following line to your Cartfile:
```ruby
github "ra1028/Former"
```
## Usage
You can set the cell's appearance and events-callback at the same time.
ViewController and Cell do not need to override the provided defaults.
### Simple Example
```Swift
import Former
final class ViewController: FormViewController {
override func viewDidLoad() {
super.viewDidLoad()
let labelRow = LabelRowFormer| Demo | Class | Protocol | Default provided cell |
|---|---|---|---|
| Free | CustomRowFormer | None | None |
![]() |
LabelRowFormer | LabelFormableRow | FormLabelCell |
![]() |
TextFieldRowFormer | TextFieldFormableRow | FormTextFieldCell |
![]() |
TextViewRowFormer | TextViewFormableRow | FormTextViewCell |
![]() |
CheckRowFormer | CheckFormableRow | FormCheckCell |
![]() |
SwitchRowFormer | SwitchFormableRow | FormSwitchCell |
![]() |
StepperRowFormer | StepperFormableRow | FormStepperCell |
![]() |
SegmentedRowFormer | SegmentedFormableRow | FormSegmentedCell |
![]() |
SliderRowFormer | SliderFormableRow | FormSliderCell |
![]() |
PickerRowFormer | PickerFormableRow | FormPickerCell |
![]() |
DatePickerRowFormer | DatePickerFormableRow | FormDatePickerCell |
![]() |
SelectorPickerRowFormer | SelectorPickerFormableRow | FormSelectorPickerCell |
![]() |
SelectorDatePickerRowFormer | SelectorDatePickerFormableRow | FormSelectorDatePickerCell |
![]() |
InlinePickerRowFormer | InlinePickerFormableRow | FormInlinePickerCell |
![]() |
InlineDatePickerRowFormer | InlineDatePickerFormableRow | FormInlineDatePickerCell |
| Demo | Class | Protocol | Default provided cell |
|---|---|---|---|
| Free | CustomViewFormer | None | None |
![]() |
LabelViewFormer | LabelFormableView | FormLabelHeaderView FormLabelFooterView |