textfield.clearButtonMode = UITextFieldViewModeAlways;
düğmesini kullanarak klavyeyi kapatmak için .. ve mümkünse çalışmak gibi görünmüyor?
Şimdiden teşekkürler. yetki verdiğiniz olarak
textfield.clearButtonMode = UITextFieldViewModeAlways;
düğmesini kullanarak klavyeyi kapatmak için .. ve mümkünse çalışmak gibi görünmüyor?
Şimdiden teşekkürler. yetki verdiğiniz olarak
,
- (BOOL)textFieldShouldClear:(UITextField *)textField
kullanıcıları textfield'ı temizlemek istediğinde denir işlevi. EVET'i döndürürseniz ve
klavyenin gitmesi gerekir. ClearButtonMode'u bilmiyorum, bunun dışında, tercihen görünümü süper görünümüne eklemeden önce, bunu erkenden ayarlamak isteyebilirsiniz.
[textField performSelector:@selector(resignFirstResponder) withObject:nil afterDelay:0.1];
UITextFieldDelegate textFieldShouldClear
- (BOOL)textFieldShouldClear:(UITextField *)textField {
[textField] resignFirstResponder];
return YES;
gecikme etmedim'
düzenlemek Gerçekten, yanıtlayıcısını istifa biraz sonra o yapıyor deneyin emin olmak için Benim için iyi çalış. temsilci uygulanmasında Sonra
BOOL cancelEdit;
: Onun yerine delegesinecevap bir örnek değişkeni eklendi Eğer alanını temizleyin sonra elma textfield odak ayarı gibi görünüyor önce
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if (cancelEdit) {
cancelEdit = NO;
return NO;
} else {
return YES;
}
}
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
cancelEdit = YES;
return YES;
}
Bu en iyi çözümdür. – Shmidt
Mükemmel çözüm, teşekkürler –
gibi bahsettiniz.
Çözüm oldukça basit. Sadece sahadan kendinizi, resignFirstResponder temizlemek ve ben bu garip davranış textFieldShouldClear önce klavyenin önceki ilk yanıtlayıcısını istifa rakip bir jest tanıyıcı neden oldu keşfetti YOK
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
textField.text = @"";
[textField resignFirstResponder];
return NO;
}
Benim için en iyi çözüm! Çok teşekkürler! –
Kullanıcı temizle düğmesine basılırsa klavyeyi göstermemek istiyorum, ancak klavye gösteriliyorsa, onu gizlemek istemiyorum. Ben sadece [textField resignFirstResponder]; 'yukarıdaki koddan kaldırıyorum. –
dönmek: denirdi. İlk cevaplayıcıyı bozmak gibi görünüyordu.
Eğer bu şekilde ayarladıysanız, jest tanıyıcınızdakiTouchesInView iptalini YES olarak ayarladığınızdan emin olun. Bu şekilde textFieldShouldClear'da özel bir şey yapmanıza gerek yoktur: veya textFieldShouldBeginEditing: temsilci yöntemleri.
Teşekkürler, yukarıdaki gibi textFieldShouldClear çağrılırken klavyenin neden gitmediği hakkında bir fikrin var mı? Örneğin textFieldShouldReturn ile çalışır. – Dan
Evet, temizledikten sonra, UI güçleri yine de alana odaklanmış olabilir. Yanıtımıma eklediğim satırı kullanarak birazdan istifa etmeyi dene. – mvds
Şerefe, gecikme problemi çözmüş gibi görünüyor! – Dan