FormCell 1.3.0

FormCell 1.3.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Mar 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by owner.



FormCell 1.3.0

  • By
  • masashi-sutou

FormCell

Overview

Demo

Requirement

  • Xcode 8
  • Swift 3
  • iOS 9.0 or later

Usage

// Example: - phone number in Japan

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = FormFieldCell(lengthError: (0, 11), pregError: (.phone, nil))
    cell.editField(textChanged: { (text, error) in

        self.user.tel = text
        if error.result {
            self.user.errorMessages[indexPath] = error.message
        } else {
            self.user.errorMessages.removeValue(forKey: indexPath)
        }

    }, didReturn: {

        if let cell = tableView.cellForRow(at: indexPath) as? FormFieldCell {
            cell.textField.resignFirstResponder()
        }
    })

    cell.textField.keyboardType = .numberPad
    cell.textField.placeholder = "enter your phone number"
    cell.textField.text = self.user.tel
    return cell
}

// Example: - save action

func saveTapped(_ sender: UIBarButtonItem) {

    var message: String = ""
    if self.user.errorMessages.isEmpty {

        message = "success to save"

    } else {

        for (_, s) in self.user.errorMessages {
            message += s + "\n"
        }
    }

    self.showAlertDialog("Result", message: message, buttonTitle: "OK") {}
}

Licence

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