UITextField-কে শুধু নম্বর ইনপুট নেওয়ার জন্য দুটি পদ্ধতি —
পদ্ধতি ১: স্টোরিবোর্ড থেকে
- TextField সিলেক্ট → Attribute Inspector → Keyboard Type → "Number Pad" সিলেক্ট করুন।
পদ্ধতি ২: প্রোগ্রাম্যাটিক্যালি (UITextFieldDelegate)
- TextField-র আউटलেট বানান।
- ViewController-কে UITextFieldDelegate কনফর্ম করুন।
- delegate = self সেট করুন।
textField(_:shouldChangeCharactersIn:replacementString:)ইমপ্লিমেন্ট করুন।
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if let _ = string.rangeOfCharacter(from: .decimalDigits) { return true }
else { return false }
}
পূর্ণ ক্লাস —
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var tf: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
tf.delegate = self
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if let _ = string.rangeOfCharacter(from: .decimalDigits) { return true }
else { return false }
}
}