TextField Karakter Sayısı Sınırlandırma

Karakter sayısını belirlediğimiz miktara gelince yazmayı durduran fonksiyon(karakter sınırlaması);

Öncelikle stroyboard'a eklediğimiz textField'ımızın outlet'ini tanımlıyoruz. Daha sonra StroyBoard içinden textField'ın Delegate bağlantısını yapıyoruz. Controller dosyasını açıp class'a  UITextFieldDelegate ekliyoruz.

class MainController: UIViewController, UITextFieldDelegate { ...

Class içerisinde TextField delegate fonksiyonunu yazarak yazı yazılması esnasında çalışacak fonksiyonun içini dolduruyoruz.




func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

        
        guard let text = textField.text else {
            return true
        }
        
        if (textField == self.txtTextField) {
            let newLength = text.characters.count + string.characters.count - range.length
            return newLength <= 5
        } else {
            return true
        }

    }


Not: txtTextField bizim oluşturduğumuz textField komponentinin tanımladığımız outlet adıdır. Ekran üzerinde birden fazla textField olacağından outlet isimlerine göre kontrol yapılmalıdır.

Hiç yorum yok:

Yorum Gönder

Yorumunuz için teşekkür ederim.