TextFieldTableViewController.swift 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // TextFieldTableViewController.swift
  3. // Naterade
  4. //
  5. // Created by Nathan Racklyeft on 8/30/15.
  6. // Copyright © 2015 Nathan Racklyeft. All rights reserved.
  7. //
  8. import UIKit
  9. import RileyLinkKit
  10. protocol TextFieldTableViewControllerDelegate: class {
  11. func textFieldTableViewControllerDidEndEditing(controller: TextFieldTableViewController)
  12. }
  13. class TextFieldTableViewController: UITableViewController, IdentifiableClass, UITextFieldDelegate {
  14. @IBOutlet weak var textField: UITextField!
  15. var indexPath: NSIndexPath?
  16. var placeholder: String?
  17. var value: String? {
  18. didSet {
  19. delegate?.textFieldTableViewControllerDidEndEditing(self)
  20. }
  21. }
  22. var keyboardType = UIKeyboardType.Default
  23. var autocapitalizationType = UITextAutocapitalizationType.None
  24. weak var delegate: TextFieldTableViewControllerDelegate?
  25. override func viewDidLoad() {
  26. super.viewDidLoad()
  27. textField.text = value
  28. textField.keyboardType = keyboardType
  29. textField.placeholder = placeholder
  30. textField.autocapitalizationType = autocapitalizationType
  31. }
  32. override func viewWillAppear(animated: Bool) {
  33. super.viewWillAppear(animated)
  34. textField.becomeFirstResponder()
  35. }
  36. // MARK: - UITextFieldDelegate
  37. func textFieldShouldEndEditing(textField: UITextField) -> Bool {
  38. value = textField.text
  39. return true
  40. }
  41. func textFieldShouldReturn(textField: UITextField) -> Bool {
  42. value = textField.text
  43. textField.delegate = nil
  44. navigationController?.popViewControllerAnimated(true)
  45. return false
  46. }
  47. }