23 Ağustos 2010

UITextField ve UITextView Kullanımında Klavyeyi Gizlemek

ile hasan

Eğer UITextField kullanıyorsanız yazma işi bitince klavyeyi ortadan kaldırmak çok kolay. Aşağıdaki gibi bir fonksiyon yazıp (.h dosyasına tanımlamasını da eklemeyi unutmayın) view’ınızdaki UITextField objesinin “Did on End Exit” olayında (event) bu fonksiyonun çalışmasını sağlamalısınız.

– (IBAction)done:(id)sender{
[ornekTextField resignFirstResponder];
}

Eğer çok satırlı bir yazı alanı ihtiyacınız varsa UITextView kullanıyorsunuz demektir. UITextView’ın malesef “Did on End Exit” gibi bir tetikleyicisi olmadığı için yukarıdaki methodu burda kullanamıyorsunuz. Bu durumu düzeltmek için hoş olmasa da işe yarayan bir kaç yöntem var.

ToolBar kısmına mesela “Tamam” gibi bir buton ekleyip bu butona basıldığında yukarıdaki fonksiyonu çalıştırıp klavyeyi gizleyebilirsiniz. Ya da daha çok kullanılan bir metod olarak ekranda boş bir alana tıklandığında bu fonksiyonu çalıştırabilirsiniz. Aslında aynı şeyi tekrar ediyorum. Çünkü ekranda boş bir alana basmayı algılayabilmek için şöyle bir numara yapıyoruz. “Custom” tipinde bir buton oluşturup Layout menüsünden “Send to back” diyerek view’ın en arkasına gönderiyoruz ve bu butonun eniyle boyunu tüm view’ı kaplayacak şekilde genişletiyoruz. Böylece kocaman ve görünmez bir butonumuz oluyor. Bu butona basıldığında (Touch Down) yukarıdaki fonksiyonun çalışmasını sağlıyoruz. İşte hepsi bu 🙂