Я сделал приложение с 4 текстовыми полями (tf1, tf2, tf3, tf4), каждое текстовое поле занимает только один ди git, вот код:
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var tf1: UITextField!
@IBOutlet var tf2: UITextField!
@IBOutlet var tf3: UITextField!
@IBOutlet var tf4: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
tf1.addTarget(self, action: #selector(self.textdiChange(textfield:)), for: UIControl.Event.editingChanged)
tf2.addTarget(self, action: #selector(self.textdiChange(textfield:)), for: UIControl.Event.editingChanged)
tf3.addTarget(self, action: #selector(self.textdiChange(textfield:)), for: UIControl.Event.editingChanged)
tf4.addTarget(self, action: #selector(self.textdiChange(textfield:)), for: UIControl.Event.editingChanged)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
tf1.becomeFirstResponder()
}
@objc func textdiChange(textfield: UITextField) {
let text = textfield.text
if text?.utf16.count == 1 {
switch textfield {
case tf1:
tf2.becomeFirstResponder()
break
case tf2:
tf3.becomeFirstResponder()
break
case tf3:
tf4.becomeFirstResponder()
break
case tf4:
tf4.resignFirstResponder()
break
default:
break
}
} else {
}
}
}
Проблема в том, что я не хочу использовать системную клавиатуру,
и я хочу использовать только определенные кнопки c: A, B, C, D и «<» для задней части. вот пример: </p>
так что лучше всего использовать кнопку вместо системной клавиатуры.