একজন iOS ডেভেলপার হিসেবে একজনের জানা উচিত কিভাবে টেক্সট ফিল্ডের সাথে ম্যানিপুলেট করতে হয় এবং এটি পরিচালনা করে, Apple ইতিমধ্যেই UITextFieldDelegate প্রোটোকল প্রদান করেছে।
এটি সম্পর্কে আরও পড়তে https://developer.apple.com/documentation/uikit/uitextfielddelegate
আপনি হয়ত দেখেছেন যেখানে ফর্মগুলি জড়িত থাকে, এবং আপনি যখন ফর্মগুলিতে বিশেষভাবে টাইপ করেন যেখানে অক্ষরগুলি নির্দিষ্ট গণনার মধ্যে সীমাবদ্ধ থাকে তখন আপনি প্রবেশ করানো অক্ষরগুলির সংখ্যা দেখতে পান৷
আপনি যখন টেক্সটফিল্ডে টাইপ করবেন তখন আমরা এই পোস্টে অক্ষর গণনা কীভাবে প্রদর্শন করতে হবে তা দেখতে যাচ্ছি।
ধাপ 1 − Xcode খুলুন → নতুন প্রকল্প → একক দৃশ্য অ্যাপ্লিকেশন → আসুন এটির নাম রাখি “TextFieldCount”
ধাপ 2 − Main.storyboard খুলুন এবং দেখানো হিসাবে TextField এবং লেবেল যোগ করুন, লেবেল এবং পাঠ্য ক্ষেত্রের জন্য @IBOutlet তৈরি করুন এবং যথাক্রমে lblCount, txtInputBox নামে নাম দিন।
ধাপ 3 − ViewController.swift-এ প্রোটোকল UITextFieldDelegate এবং টেক্সটইনপুটবক্স সহ প্রতিনিধিকে নিজের কাছে নিশ্চিত করুন৷
class ViewController: UIViewController, UITextFieldDelegate { txtInputBox.delegate = self
পদক্ষেপ 4৷ − প্রতিনিধির অক্ষর পরিবর্তন করতে হবে এবং এর ভিতরে নিম্নলিখিত কোড লিখতে হবে।
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { if(textField == txtInputBox){ let strLength = textField.text?.count ?? 0 let lngthToAdd = string.count let lengthCount = strLength + lngthToAdd self.lblCount.text = "\(lengthCount)" } return true }
ধাপ 5 - অ্যাপ্লিকেশনটি চালান, চূড়ান্ত কোডের জন্য,
উদাহরণ
import UIKit class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet var txtInputBox: UITextField! @IBOutlet var lblCount: UILabel! override func viewDidLoad() { super.viewDidLoad() txtInputBox.delegate = self } func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { if(textField == txtInputBox){ let strLength = textField.text?.count ?? 0 let lngthToAdd = string.count let lengthCount = strLength + lngthToAdd self.lblCount.text = "\(lengthCount)" } return true } }
আউটপুট