Klavye Yerine DatePicker Kullanmak

Klavyenize profesyonel görünüm kazandırma zamanı 💪 Klavye yerine datepicker kullanmak istiyorsanız, içeriye buyrun 🙂

Kullanıcıdan bazen tarih bilgisi seçmesini isteriz ama DatePicker ı direk kullanıcının gözüne sokmak hoş olmaz.

Bunun yerine bir TextField koymak ve üzerine dokununca klavye yerine DatePicker çıkması çok daha güzel bir kullanıcı deneyimidir.

Bu olayı CocoaPods ile çözenler var fakat buna hiç gerek yok, farklı kütüphaneler olmadan da yapabiliriz.

Şimdi bunu hayata geçirelim.

 

Başlayalım…🔨

 

Klavye Yerine DatePicker Kullanmak: Örnek Uygulama

Şekildeki gibi bir proje oluşturalım. 1 tane TextField yerleştirip auto-layout ile istediğiniz biryere koyalım.

0*5ggOvJBsaI3Pybt-.png

 

Ekranın bağlı olduğu ViewController ı açalım.

TextField ın IBOutlet bağlantısını yapalım, ismini birthdayTF olarak belirleyelim.

DatePicker() instance i yaratalım.

Daha sonra viewDidLoad içinde kullanmak üzere bir fonksiyon yazalım

 

Xcode #selector kısmında şikayet edecektir çünkü onDidChangeDate aksiyonunu kullanacağımızı belirtmemize rağmen böyle bir metod henüz yaratmamışız bile.

O zaman yaratalım.

 

#selector ile eklediğimiz aksiyonların metodu @objc ön eki ile kullanılmalıdır.

Son olarak setBirthdayPicker() fonksiyonumuzu viewDidLoad içinde çağıralım.

Şimdi neler yaptık bir üzerinden geçelim:

  1. birthdayTF nin inputunun bir DatePicker olduğunu söyledik.
  2. Timezone u Türkiye olarak ayarladık.
  3. Arkaplan rengi, gölge gibi göze hoş gelecek kullanıcı deneyimi ayarları yaptık.
  4. Target ekledik ve aksiyonunda onDidChangeDate metodunu kullanacağımızı belirttik.
  5. Bu metodun içinde ise:
  • DateFormatter yarattık ve tarihi gün/ay/yıl olarak formatlayacağımızı söyledik
  • birthdayTF nin içerisine kullanıcıdan gelen inputu yazdırdık

 

Birde klavyeyi ekrana dokunmaya hassas hale getirelim de işimiz eksik kalmasın 🙂

 

Projeyi çalıştıralım. 💻

DOeGhIwdY3.gif

 

Sonuç

Gayet profesyonel oldu 😋

 

Dikkat ederseniz formatter kullanırken sadece tarihi aldık ve onu parse ettik. İsteseydik aynı anda tarih ve saat bilgisi de alabilirdik veyahut ayraç için taksim işareti yerine kısa çizgi kullanıp ay ile günün vs yerini değiştirebilirdik.

Bu derste anlattıklarım yol göstermiş olsun, onu da siz yapıp github hesabımıza merge yaparsınız artık 😘

 

Alacağınız tarih inputu eğer sayfanın altında kalıyor ve klavye bu alanı kapatıyorsa buradan “Klavyeyi Kapatan Klavyeye Çözüm” konulu dersimi okuyabilirsiniz.

 

Projenin kaynak koduna ise iOS Notları – Github dan erişebilirsiniz.

 

İyi kodlamalar 💻

 

Kimler Neler Demiş?

avatar
  Subscribe  
Bildir