I edited the first comment to make it readable.
| import UIKit |
| |
| class ViewController: UIViewController { |
| override func viewDidLoad() { |
| super.viewDidLoad() |
| setupTextField() |
| } |
| |
| func setupTextField() { |
| let emailTextField = TextField(frame: CGRect(x: 150, y: 150, width: 150, height: 40)) |
| emailTextField.textContentType = .emailAddress |
| emailTextField.keyboardType = .emailAddress |
| emailTextField.autocorrectionType = .no |
| emailTextField.layer.borderWidth = 1 |
| emailTextField.delegate = self |
| self.view.addSubview(emailTextField) |
| |
| let textField = TextField(frame: CGRect(x: 150, y: 250, width: 150, height: 40)) |
| textField.layer.borderWidth = 1 |
| textField.delegate = self |
| textField.rightViewMode = .always |
| self.view.addSubview(textField) |
| |
| let button = UIButton(primaryAction: UIAction.captureTextFromCamera(responder: textField, identifier: nil)) |
| button.frame = CGRect(x: 150, y: 300, width: 150, height: 60) |
| self.view.addSubview(button) |
| } |
| } |
| |
| extension ViewController: UITextFieldDelegate { |
| func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { |
| print("Should change in chars delegate") |
| print(textField.text) |
| return true |
| } |
| |
| func textFieldDidEndEditing(_ textField: UITextField) { |
| print("Did end editing delegate") |
| print(textField.text) |
| } |
| } |
| |
| class TextField: UITextField { |
| override func insertText(_ text: String) { |
| super.insertText(text) |
| print("Insert tet function") |
| print(text) |
| } |
| |
| override func unmarkText() { |
| super.unmarkText() |
| print("Unmark text function") |
| print(self.text) |
| } |
| |
| override func setMarkedText(_ markedText: String?, selectedRange: NSRange) { |
| super.setMarkedText(markedText, selectedRange: selectedRange) |
| print("Marked text function") |
| print(markedText) |
| } |
| } |
What do you get on console ?
Do
print("Should change in chars delegate")
or
print("Insert tet function")
get printed ?
Did you read this thread, maybe there's some interesting info there:
https://developer.apple.com/forums/thread/682090