Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RegistrationViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, KeyboardDisplayChangeProtocol {
- public enum FormField: String {
- case name = "Name"
- case surname = "Surname"
- case age = "Age"
- case email = "Email"
- case telephone = "Telephone"
- case username = "Username"
- case password = "Password"
- }
- @IBOutlet weak var tableView: KBTableView!
- var formFields: [FormField] = []
- override func viewDidLoad() {
- super.viewDidLoad()
- addFormFields()
- tableView.estimatedRowHeight = 60
- tableView.rowHeight = UITableViewAutomaticDimension
- tableView.tableFooterView = UIView(frame: .zero)
- }
- func addFormFields() {
- formFields.append(.name)
- formFields.append(.surname)
- formFields.append(.age)
- formFields.append(.email)
- formFields.append(.telephone)
- formFields.append(.username)
- formFields.append(.password)
- }
- override func viewWillAppear(_ animated: Bool) {
- super.viewWillAppear(animated)
- addKeyboardObserver(on: view)
- }
- override func viewWillDisappear(_ animated: Bool) {
- removeKeyboardObserver()
- super.viewWillDisappear(animated)
- }
- func removeKeyboardObserver() {
- tableView.removeKeyboardObserver()
- }
- func addKeyboardObserver(on view: UIView) {
- tableView.addKeyboardObserver(on: view)
- }
- func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
- return 0
- }
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return formFields.count
- }
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- let cell = self.tableView.dequeueReusableCell(withIdentifier: CustomCell.identifier) as? CustomCell
- let formField = formFields[indexPath.row]
- cell?.configure(title: formField.rawValue)
- return cell!
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement