Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

Aynı viewController içerisinde iki farklı pickerView kullanmak

0 oy
42 kez görüntülendi
8, Mart, 2016 ios development kategorisinde ibolat tarafından soruldu
Merhaba Arkadaşlar,

Uygulama içerisinde 2 farklı textField var biri kullanıcının şehir girmesi için diğeride yaşını seçmesi için ben her iki text field'in tıklanma anında ayrı ayrı picker view çıksın istiyorum bir kaç yol denedim ama sonuca ulaşamadım fikri olan paylaşırsa sevinirim. İyi çalışmalar

1 cevap

+1 oy
8, Mart, 2016 huseyinvural tarafından cevaplandı
9, Mart, 2016 ibolat tarafından seçilmiş
 
En İyi Cevap

Yüzeysel bir cevap vermek gerekirse, ilk önce kullanmak istediğin yapıya uygun picker view oluşturmak için ayrı bir view controller xib dosyası içinde custom picker view yapını oluşturusun.

Daha sonra textview'lerin action methodları içinde, add subview diyerek oluştuduğun custom xib dosyasını görüntüleyebilir seçim yaptıktan sonra ilgili işlemi yapıp kaldırabilirsin.

Şuan müsait olamadığım için örnek veremiyorum. Eğer istersen mesaim bitiğinde bir örnek hazırlayabilirim.

8, Mart, 2016 ibolat tarafından yorumlandı
Aslında bahsettiğiniz yoluda denemeye çalıştıma ma çok başarılı olamadım galiba vaktiniz varsa bir örnek incelemek benim için daha faydalı olacaktır.
8, Mart, 2016 huseyinvural tarafından yorumlandı
Hızlıca ufak bir örnek hazırlamaya çalıştım, umarım yarıdımcı olur.

Projeye aşağıdaki linkten ulaşabilirsiniz.
https://drive.google.com/file/d/0B4MEF11v_cH3OXpPMkJGN1d4UTg/view?usp=sharing
9, Mart, 2016 ibolat tarafından yorumlandı
Hüseyin bey örnek oldukça yararlı oldu fakat şöyle bir sıkıntı ile karşılaştım yaş yada şehir seçim yaparken listedeki en son elemanı seçince "fatal error: Array index out of range" hatasına düşüyor.

http://i.hizliresim.com/MppQYQ.png
9, Mart, 2016 huseyinvural tarafından yorumlandı
Evet, eski çalışmamadan kalma bir sorun. Gözümden kaçmış.

pagePicker.swift classı içinde seçim yapıldığında çalışan didSelectRow delegete methodunun içinde seçilen index atmasının yapıldığı değişeni,

 " let secilenIndex = row " şeklinde değiştirin. Şunada row+1 olarak atama yaptığnından array içinde olmayan bir index i çağırmaya çalışıyor ve sonuncu elemanda buda hata veriyor.
Değiştirdiğinizde düzelicektir.  Umarım sorununuzu, çözmüştür.

İyi çalışmalar.
9, Mart, 2016 ibolat tarafından yorumlandı
Evet sıkıntı yok şuan hüseyin hocam yapıyı kedime göre entegre ettim kusursuz çalışıyor. Çok teşekkür ederim. İyi çalışmalar
...