Advertisement
Guest User

Untitled

a guest
May 2nd, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. class RegistrationViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, KeyboardDisplayChangeProtocol {
  2.  
  3. public enum FormField: String {
  4. case name = "Name"
  5. case surname = "Surname"
  6. case age = "Age"
  7. case email = "Email"
  8. case telephone = "Telephone"
  9. case username = "Username"
  10. case password = "Password"
  11. }
  12.  
  13. @IBOutlet weak var tableView: KBTableView!
  14. var formFields: [FormField] = []
  15.  
  16. override func viewDidLoad() {
  17. super.viewDidLoad()
  18.  
  19. addFormFields()
  20. tableView.estimatedRowHeight = 60
  21. tableView.rowHeight = UITableViewAutomaticDimension
  22. tableView.tableFooterView = UIView(frame: .zero)
  23. }
  24.  
  25. func addFormFields() {
  26. formFields.append(.name)
  27. formFields.append(.surname)
  28. formFields.append(.age)
  29. formFields.append(.email)
  30. formFields.append(.telephone)
  31. formFields.append(.username)
  32. formFields.append(.password)
  33. }
  34.  
  35. override func viewWillAppear(_ animated: Bool) {
  36. super.viewWillAppear(animated)
  37. addKeyboardObserver(on: view)
  38. }
  39.  
  40. override func viewWillDisappear(_ animated: Bool) {
  41. removeKeyboardObserver()
  42. super.viewWillDisappear(animated)
  43. }
  44.  
  45. func removeKeyboardObserver() {
  46. tableView.removeKeyboardObserver()
  47. }
  48.  
  49. func addKeyboardObserver(on view: UIView) {
  50. tableView.addKeyboardObserver(on: view)
  51. }
  52.  
  53. func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
  54. return 0
  55. }
  56.  
  57. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  58. return formFields.count
  59. }
  60.  
  61. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  62. let cell = self.tableView.dequeueReusableCell(withIdentifier: CustomCell.identifier) as? CustomCell
  63.  
  64. let formField = formFields[indexPath.row]
  65. cell?.configure(title: formField.rawValue)
  66.  
  67. return cell!
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement