iOS 6'da güvenli bir metin alanına metin yazarsanız, başka bir metin alanına geçin, ardından güvenli metin alanına geri dönün ve geri al, tüm karakterler kaldırılır. Bununla birlikte ben iyiyim, ancak, bu güvenli metin alanının karakterleri içerip içermediğine bağlı olarak bir düğmeyi etkinleştirmeyi/devre dışı bırakmayı deniyorum. Alanlarda hangi karakterlerin bulunduğunu ve bir backspace'ın vurulduğunu nasıl belirleyeceğimi biliyorum ancak tüm karakterlerin temizlenme olup olmadığını nasıl belirleyeceğimi belirlerken sorun yaşıyorum.iOS 6 UITextField Güvenli - Tüm karakterleri temizlemek için arka plan nasıl algılanır?
Bu, bir alanın yeni metnini almak için kullandığım temsilci yöntemidir, ancak yeni metni nasıl alacağımı anlayamıyorum (yeni metnin yalnızca boş bir dize olacağını varsayarak) tüm karakterleri temizleyen bir backspace vurulursa.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//returns the "new text" of the field
NSString * text = [textField.text stringByReplacingCharactersInRange:range withString:string];
}
Herhangi bir yardım çok takdir edilmektedir.
Teşekkürler!
yoluyla geçirilen "' string'" eğer: "'range.length'" sıfırdan büyük ise "' replacementString '" parametresi sıfır uzunlukta boş bir dize, bunu senin "her şeydir söyleyebilirim Temizleniyor "durumda. –
sadece bir backspace vurmak ve bir karakteri silmek string parametresinin boş olmasına ve sıfır uzunluğuna neden olacak, bu yüzden işe yaramayacaktır. – crizzwald
aralığı, tek bir arka alanmış gibi döner, bu da işe yaramıyor. ve ben bu UITableViewCells gömülü UITextFields ile benim için çalıştı tek çözüm oldu – crizzwald