Để lần lượt xem qua tất cả các trường văn bản khi nhấn vào nút hoàn tất hoặc quay lại, chúng ta sẽ phải tạo một lôgic. Hãy hiểu điều đó với sự trợ giúp của một dự án.
-
Tạo một dự án và trên bảng câu chuyện của bộ điều khiển chế độ xem, hãy kéo Bốn trường văn bản.
-
Chọn từng thẻ một và từ thuộc tính, người kiểm tra đặt các thẻ của chúng tương ứng là 1,2,3,4.
-
Đồng thời đặt khóa trả về của chúng thành Xong từ chính trình kiểm tra thuộc tính.
-
Tạo cửa hàng cho tất cả bốn trường văn bản trong lớp bộ điều khiển Chế độ xem, kết nối chúng với cửa hàng tương ứng.
@IBOutlet yếu var tf1:UITextField! @IBOutlet yếu var tf2:UITextField! @IBOutlet yếu var tf3:UITextField! @IBOutlet yếu var tf4:UITextField!
-
Mở rộng lớp ViewController thành UITextFieldDelegate và viết phương thức, textFieldShouldReturn
extension ViewController:UITextFieldDelegate {func textFieldShouldReturn (_ textField:UITextField) -> Bool {}}
-
Trong phương thức viewDidLoad () của lớp ViewController, hãy đặt đại biểu của chúng thành tự, từng cái một.
ghi đè func viewDidLoad () {super.viewDidLoad () self.tf1.delegate =self self.tf2.delegate =self self.tf3.delegate =self self.tf4.delegate =self}
-
Bây giờ trong phương thức, chúng tôi đã viết ở trên, hãy thêm các dòng mã sau đây
let nextTag =textField.tag + 1let nextTF =textField.superview? .viewWithTag (nextTag) dưới dạng UIResponder! if nextTF! =nil {nextTF? .becomeFirstResponder ()} else {textField.resignFirstResponder ()} trả về falseLớp ViewController hoàn chỉnh bây giờ sẽ trông như thế này,
nhập UIKitclass ViewController:UIViewController {@IBOutlet yếu var tf1:UITextField! @IBOutlet yếu var tf2:UITextField! @IBOutlet yếu var tf3:UITextField! @IBOutlet yếu var tf4:UITextField! ghi đè func viewDidLoad () {super.viewDidLoad () // Thực hiện bất kỳ thiết lập bổ sung nào sau khi tải chế độ xem, thường từ nib. self.tf1.delegate =self self.tf2.delegate =self self.tf3.delegate =self self.tf4.delegate =self}} extension ViewController:UITextFieldDelegate {func textFieldShouldReturn (_ textField:UITextField) -> Bool {let nextTag =textField.tag + 1 hãy để nextTF =textField.superview? .viewWithTag (nextTag) làm UIResponder! if nextTF! =nil {nextTF? .becomeFirstResponder ()} else {textField.resignFirstResponder ()} trả về false}}Đây là cách ứng dụng trông tương ứng trên xcode và trình mô phỏng