Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

จะผ่านช่องข้อความทั้งหมดด้วยปุ่มถัดไปบนแป้นพิมพ์ iPhone/iOS ได้อย่างไร


ในการผ่านช่องข้อความทั้งหมดทีละช่องโดยแตะที่ปุ่มเสร็จสิ้นหรือปุ่มย้อนกลับ เราจะต้องสร้างตรรกะ มาทำความเข้าใจกับโครงการกันเถอะ

  • สร้างโครงการและลากช่องข้อความสี่ช่องบนกระดานเรื่องราวของตัวควบคุมมุมมอง

  • เลือกทีละรายการและจากแอตทริบิวต์ ผู้ตรวจสอบตั้งค่าแท็กเป็น 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 และโปรแกรมจำลองตามลำดับ

จะผ่านช่องข้อความทั้งหมดด้วยปุ่มถัดไปบนแป้นพิมพ์ iPhone/iOS ได้อย่างไร

จะผ่านช่องข้อความทั้งหมดด้วยปุ่มถัดไปบนแป้นพิมพ์ iPhone/iOS ได้อย่างไร