In iPhone, ho vista in cui è presente UITextField
. Quando faccio clic sul pulsante di cancellazione della tastiera UITextField
, la tastiera scompare, non il testo in UITextField
. In ipad samething funziona correttamente. Per favore suggeriscimi, cosa fare? Grazie in anticipo !!Quando si fa clic sulla tastiera del tasto chiaro di uitextfield non scompare il testo
risposta
In primo luogo, controllare tutti i blocchi di codice che legati alla tua UITextField
(in particolare il codice yourTextField.hidden = YES;
)
punti di rottura Put e analizzare ogni UITextField
delegati che si implementato.
(textFieldDidEndEditing
, textFieldShouldEndEditing
, textFieldShouldReturn.etc
.)
O
Implementare la textFieldShouldClear
delegato e scrivere il codice qui per visibile e svuotare la UITextField
Per fare questo, è necessario impostare il clearButtonMode
come sotto,
yourTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
yourTextField.delegate = self;
//For active keyboard again
[yourTextField becomeFirstResponder];
quindi implementare la textFieldShouldClear
delegato
YourClass.h
@interface className : UIViewController <UITextFieldDelegate>
YourClass.m
-(BOOL)textFieldShouldClear:(UITextField *)textField {
yourTextField.hidden = NO;
yourTextField.text = @"";
return YES;
}
grazie per tutte le vostre risposte Ho avuto il problema dove sto facendo un errore. Ora ho fatto correttamente – Mad
Prova questo codice dopo si collega delegato del uitextifield
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
return true;
}
Basta fare in modo U've dato questi due
editingTextField.delegate = self;
editingTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
TextFieldShouldClear è necessaria solo se avete bisogno di fare alcune personalizzazioni :-)
State facendo qualche cosa in questo metodo?
Forse stai chiamando resignFirstResponder con questo metodo di delega, ecco perché la tastiera viene scaricata.
Si prega di passare attraverso i metodi delegati e controllare che cosa sta facendo esattamente.
Basta cancellare il campo, resignFirstResponder (se si desidera nascondere la tastiera) e ritorno NO/falso
Note: set Attributes inspector property of UITextField
pulsante Clear -> Appare durante la modifica
so it will display 'X' button while editing in textfield.
// Objective-C
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
textField.text = @"";
[textField resignFirstResponder];
return NO;
}
// Swift
func textFieldShouldClear(textField: UITextField) -> Bool {
textField.text = ""
textField.resignFirstResponder()
return false
}
Questo problema successo anche se avete
yourTextField.clearButtonMode = UITextFieldViewModeNever;
Controllare questa linea e elimina o si modifica la modalità di visualizzazione ..
potete inserire il codice come gestisci il pulsante di cancellazione? –
Verificare se il pulsante di cancellazione è bloccato da un'altra vista e quindi non ricevere gli eventi di tocco. – Christopher