2013-04-22 20 views
7

UITextField ile bir UIAlertView var. UIAlertView temsilcisini bağladım ve UITextField'daki metne bağlı olarak alertViewShouldEnableFirstOtherButton: numaralı telefondan YES veya NO döndürüyorum.UIAlertView nasıl yapılır ?? alertViewShouldEnableFirstOtherButton: `değişiklik yaptıktan sonra?

textField metnini programsal olarak değiştirmem gerekiyor. Bu beklendiği gibi çalışır.

Ne yazık ki UIAlertView öğesinin, alertViewShouldEnableFirstOtherButton: temsilci yöntemini nasıl çağırdığını bilmiyorum, bu yüzden textField öğesinin metnini değiştirdikten sonra diğer düğmeyi etkinleştirir veya devre dışı bırakır.

UIAlertView, UITextField hedefini kaydettirdiğini düşündüm, bu yüzden textField öğesinden bir UIControlEventValueChanged göndermeyi denedim. Çalışmadı. Yığın izleme kaynaktan


I temsilci yöntemi özel UIAlertView yöntemi _alertSheetTextFieldDidChange: denir bulduk.

Metni değiştirdikten sonra [self.currentAlert performSelector:@selector(_alertSheetTextFieldDidChange:) withObject:textField]; yapsam, temsilci yöntemi çağrılır ve düğmenin etkinleştirme durumu değişir. Ancak, bu özel bir yöntem olduğundan, uygulama muhtemelen reddedilecektir. Bunu riske atmak istemiyorum.


Uyarı görünümü çağrısını alertViewShouldEnableFirstOtherButton: yapmak için temiz bir yolu var mı?

cevap

8

Denetim olayı göndererek doğru yoldaydım. Sadece yanlış olayı seçiyorum.

[textField sendActionsForControlEvents:UIControlEventEditingChanged]; 
+0

Sadece yanı bu sorunu koştu ve bu cevap çalışır ve bunu yapmanın doğru yolu gibi görünüyor:

Bu çalışacak – Alex

İlgili konular