2011-01-15 17 views
14

Bir iPhone uygulamasında çalışıyorum ve iPhone uygulamasında kullanıcı bir UITextView yazıyor. Normal iade anahtarına sahip olmak yerine klavyede tamamlanmış anahtarı nasıl ekleyebileceğimi ve klavye kapandığında bu tuşa tıkladığınızda merak ettim.iPhone uygulamasında klavyeyi kapatan anahtar (UITextView ile)

Teşekkürler! basılı ne zaman

textField.returnKeyType=UIReturnKeyDone; 

klavyeyi kaldırmak için metin alanının temsilci yere ekleyin:

Ayrıca
- (BOOL)textFieldShouldReturn:(UITextField *)aTextfield { 
    [aTextfield resignFirstResponder]; 
    return YES; 
} 

cevap

33

UITextViewDelegate protokolünde -textViewShouldReturn: yöntemi yoktur. Klavyeyi kapatmak için iade (tamamlandı) tuşunu kullanmak istiyorsanız, muhtemelen bir UITextField kullanmak en iyisidir, UITextView, birden çok metin satırını düzenlemek için tasarlanmıştır (böylece bir çizgi girme yoluna ihtiyacınız vardır). Eğer gerçekten bir UITextView dönüş anahtarını vururken Klavyeyi kapatmak istiyorsanız

, muhtemelen böyle bir şey yapabileceğini:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 
    if ([text isEqual:@"\n"]) { 
    [textView resignFirstResponder]; 
    return NO; 
    } 
    return YES; 
} 
+0

Teşekkürler! Bir TextView kullanmamın sebebi, üzerinde çalıştığım uygulamanın bir Twitter API'sidir. Ve eğer kullanıcı tweet'i göndermeden önce okumak isterse, bu kullanıcı için biraz daha karışıklık olur. – Tapy

-3

bu kadar basittir

textField.returnKeyType = UIReturnKeyDone; 

Metin alanının temsilcisini sınıfınıza ayarlamanız ve şu gibi bir şey yapmanız gerekir:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 

    return YES; 
} 

returnKeyType ayarının yapılması, Arabirim Oluşturucu'dan da yapılabilir - eğer bir XIB'de tanımlanmış UI'niz varsa. Öte yandan, -ResignFirstResponder, klavyenin kaybolduğundan emin olacaktır. -textFieldShouldReturn: delegate yönteminde yapılmalıdır, çünkü kullanıcı Bitti düğmesine dokunduğunda bu çağrılır.

Bu yardımcı olur umarım.

+0

Evet ama en klavyeyi kapatmaz. – Tapy

+0

Bunun için üzgünüz. Cevabımıma ekledim. – grahamparks

+10

Sorunun UITextView'a atıfta bulunmadığını düşünüyorum. UITextField –

-5

ayara: olarak

+1

UITextView değil UITextField için sorar. – Domness

+1

Ayrıca soruya cevap vermiyoruz. Soru UITextView ile ilgili. –

İlgili konular