2013-04-06 17 views
7

Üç metin alanım var ve imleci bir sonraki sayfaya taşıyabiliyorum. Sonuna ulaşıldığında, klavye kapanır. Ama hiçbir şey benim için işe yaramaz ... İşte sahip olduğum bir örnek. Ancak hiçbir şey hareket etmiyor ve bir sonraki düğmeyi seçtiğimde hiçbir şey olmuyor.UITextField İmleci Sonraki Metin Alanına Taşıma

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    if (textField == field1TextField) { 
     [textField resignFirstResponder]; 
     [field2TextField becomeFirstResponder]; 
    } 
    else if (textField == field2TextField) { 
     [textField resignFirstResponder]; 
     [field3TextField becomeFirstResponder]; 
    } 
    else if (textField == field3TextField) { 
     [textField resignFirstResponder]; 
    } 
    return YES; 
} 
+3

Metin alanı temsilcisinin doğru şekilde ayarlandığından emin misiniz? Bu yöntem hiç çağrılıyor mu? – stevex

+0

Bu yöntem aranıyor mu? Bunu yaparsa .. ve textField == field1TextField bloğu çağrılır .. ve field2TextField nil değildir .. o zaman işe yarayacak gibi görünüyor – stevex

+0

Yorumunuzu bir soru olarak gönderin! Bunu yapmayı unuttum! İşaretle kontrol edeceğim! –

cevap

3

Bu yöntemin bağlı olduğu nesne, metin alanının temsilci olarak ayarlanmalıdır. Bunu düşündüğünüzde çağrıldığını doğrulamak için yöntemde bir kesme noktası ayarlayarak bunu kontrol edin.

Hazretleri veya storyboard'ları kullanıyorsanız, field... örnek değişkenleri doğru olarak bağlanmış çıkışlar olmalıdır. Program aracılığıyla oluşturulmuşlarsa, kendilerine atanan nesnelerin olduğundan emin olmalısınız. Yöntemin içinde olduğunuzda, bu değişkenlerin değerlerini inceleyerek bunu doğrulayın.

resignFirstResponder numaralı telefonu arayarak başka denetimlerde becomeFirstResponder numaralı telefonu arayarak arama yapmak zorunda değilsiniz.

+0

Cevabınız için teşekkürler –