Done বা Return বাটন টিপলে একে পর এক টেক্সট ফিল্ডে যেতে হলে একটি লজিক তৈরি করতে হয়। নিচে একটি প্রজেক্ট উদাহরণ দিয়ে ব্যাখ্যা করা হলো।
- একটি প্রজেক্ট তৈরি করুন এবং স্টোরিবোর্ডে চারটি টেক্সট ফিল্ড ড্র্যাগ করে আনুন।
- প্রতিটি টেক্সট ফিল্ড সিলেক্ট করে Attribute Inspector থেকে ট্যাগ (tag) ১, ২, ৩, ৪ সেট করুন।
- Return Key-কে "Done" সেট করুন।
- চारों টেক্সট ফিল্ডের আউटलেট (outlet) ভিউ কন্ট্রোলার ক্লাসে তৈরি করুন।
@IBOutlet weak var tf1: UITextField! @IBOutlet weak var tf2: UITextField! @IBOutlet weak var tf3: UITextField! @IBOutlet weak var tf4: UITextField!
- ViewController ক্লাসকে UITextFieldDelegate এক্সটেন্ড করুন এবং
textFieldShouldReturnমেথড লিখুন।
extension ViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool { }
}
viewDidLoad()-এ সব টেক্সট ফিল্ডের ডেলিগেট সেলফ (self) সেট করুন।
override func viewDidLoad() {
super.viewDidLoad()
self.tf1.delegate = self
self.tf2.delegate = self
self.tf3.delegate = self
self.tf4.delegate = self
}
- এখন
textFieldShouldReturnমেথডে নিচের কোড যোগ করুন।
let nextTag = textField.tag + 1
let nextTF = textField.superview?.viewWithTag(nextTag) as? UIResponder
if nextTF != nil {
nextTF?.becomeFirstResponder()
} else {
textField.resignFirstResponder()
}
return false
পুরো ViewController ক্লাস নিচের মতো হবে।
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var tf1: UITextField!
@IBOutlet weak var tf2: UITextField!
@IBOutlet weak var tf3: UITextField!
@IBOutlet weak var tf4: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
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
let nextTF = textField.superview?.viewWithTag(nextTag) as? UIResponder
if nextTF != nil {
nextTF?.becomeFirstResponder()
} else {
textField.resignFirstResponder()
}
return false
}
}
Xcode এবং সিমুলেটরে অ্যাপটি নিচের মতো দেখাবে।

