ในการผ่านช่องข้อความทั้งหมดทีละช่องโดยแตะที่ปุ่มเสร็จสิ้นหรือปุ่มย้อนกลับ เราจะต้องสร้างตรรกะ มาทำความเข้าใจกับโครงการกันเถอะ
-
สร้างโครงการและลากช่องข้อความสี่ช่องบนกระดานเรื่องราวของตัวควบคุมมุมมอง
-
เลือกทีละรายการและจากแอตทริบิวต์ ผู้ตรวจสอบตั้งค่าแท็กเป็น 1,2,3,4 ตามลำดับ
-
ตั้งค่าคีย์ส่งคืนเป็นเสร็จสิ้นจากตัวตรวจสอบแอตทริบิวต์ด้วย
-
สร้างช่องสำหรับช่องข้อความทั้งสี่ในคลาส View controller เชื่อมต่อกับช่องที่เกี่ยวข้อง
@IBOutlet var tf1 ที่อ่อนแอ:UITextField!@IBOutlet var tf2 ที่อ่อนแอ:UITextField!@IBOutlet var tf3 ที่อ่อนแอ:UITextField!@IBOutlet อ่อนแอ var tf4:UITextField!
-
ขยายคลาส ViewController เป็น UITextFieldDelegate และเขียนเมธอด textFieldShouldReturn
ส่วนขยาย ViewController:UITextFieldDelegate { func textFieldShouldReturn (_ textField:UITextField) -> Bool { }}
-
ในเมธอด viewDidLoad() ของคลาส ViewController ให้ตั้งค่าผู้รับมอบสิทธิ์เป็นตัวเอง ทีละคน
แทนที่ func viewDidLoad() { super.viewDidLoad() self.tf1.delegate =self.tf2.delegate =ตนเอง self.tf3.delegate =ตนเอง self.tf4.delegate =ตนเอง}
-
ในวิธีการที่เราเขียนไว้ข้างต้น ให้เพิ่มโค้ดต่อไปนี้
ให้ nextTag =textField.tag + 1let nextTF =textField.superview?.viewWithTag (nextTag) เป็น UIResponder!if nextTF !=ไม่มี { nextTF?.becomeFirstResponder ()} อื่น { textField.resignFirstResponder ()} คืนค่าเท็จก่อน>คลาส ViewController ที่สมบูรณ์ควรมีลักษณะดังนี้
<ก่อนหน้า>นำเข้า UIKitclass ViewController:UIViewController { @IBOutlet อ่อนแอ var tf1:UITextField! @IBOutlet var tf2 อ่อนแอ:UITextField! @IBOutlet var tf3 อ่อนแอ:UITextField! @IBOutlet var tf4 อ่อนแอ:UITextField! แทนที่ func viewDidLoad() { super.viewDidLoad() // ทำการตั้งค่าเพิ่มเติมหลังจากโหลดมุมมอง โดยทั่วไปแล้วจะมาจากปลายปากกา self.tf1.delegate =self.tf2.delegate =self.tf3.delegate =self.tf4.delegate =self }}ส่วนขยาย ViewController:UITextFieldDelegate { func textFieldShouldReturn (_ textField:UITextField) -> Bool { ให้ nextTag =textField.tag + 1 ให้ nextTF =textField.superview?.viewWithTag (nextTag) เป็น UIResponder! ถ้า nextTF !=ไม่มี { nextTF?.becomeFirstResponder() } อื่น { textField.resignFirstResponder() } คืนค่าเท็จ }}
นี่คือลักษณะที่แอปดูใน xcode และโปรแกรมจำลองตามลำดับ