2012-07-05 17 views
12

In iPhone, ich habe Ansicht, in der es UITextField .Wenn ich auf die Schaltfläche Löschen von UITextField ‚s Tastatur verschwinden wird immer klicken muss, nicht der Text in UITextField .In ipad samething funktioniert korrekt. Bitte schlage mir vor, was zu tun ist? Vielen Dank im Voraus !!Wenn auf UITextField Löschtaste Tastatur klicken verschwindet nicht Text

+2

Können Sie Code schreiben Wie handelst du mit klarem Knopf? –

+0

Überprüfen Sie, ob die Löschschaltfläche von einer anderen Ansicht blockiert ist und somit keine Berührungsereignisse erhalten. – Christopher

Antwort

5

Zunächst überprüfen Sie alle Codeblöcke, die zu Ihrem UITextField (yourTextField.hidden = YES; insbesondere dem Code) im Zusammenhang

Put Bruchstellen und analysieren alle UITextField Delegierten, die Sie implementiert.

(textFieldDidEndEditing, textFieldShouldEndEditing, textFieldShouldReturn.etc.)

OR

Umsetzung der textFieldShouldClear Delegierten und den Code hier, um sichtbar schreiben und löschen Sie die UITextField

Um dies zu tun, müssen Sie setzen die clearButtonMode wie unten,

yourTextField.clearButtonMode = UITextFieldViewModeWhileEditing; 
yourTextField.delegate = self; 

//For active keyboard again 
[yourTextField becomeFirstResponder]; 

Dann implementieren die textFieldShouldClear Delegierten

YourClass.h

@interface className : UIViewController <UITextFieldDelegate> 

YourClass.m

-(BOOL)textFieldShouldClear:(UITextField *)textField { 
    yourTextField.hidden = NO; 
    yourTextField.text = @""; 
    return YES; 
} 
+0

danke für alle deine Antworten Ich habe das Problem, wo ich Fehler mache. Jetzt bin ich richtig fertig – Mad

8

diesen Code Versuchen Sie, nachdem Sie Delegierter uitextifield

befestigen
3

So stellen Sie sicher U've gegeben diese beiden

editingTextField.delegate = self; 
editingTextField.clearButtonMode = UITextFieldViewModeWhileEditing; 

TextFieldShouldClear wird nur benötigt, wenn Sie :-)

einige Anpassungen benötigen Sie, in diesem Verfahren ein Ding Tun?

Vielleicht rufen Sie resitFirstResponder in dieser Delegate-Methode, das ist, warum die Tastatur abgewiesen wird.

Bitte gehen Sie durch die Delegate-Methoden, und überprüfen Sie, was Sie genau tun.

29

löschen Sie einfach das Feld, ResignFirstResponder (wenn Sie möchten Tastatur auszublenden) und zurück NO/false

Note: set Attributes inspector property of UITextField 

Clear-Taste -> Erscheint während Bearbeitung

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 
} 
2

Dieses Problem passiert auch, wenn Sie

yourTextField.clearButtonMode = UITextFieldViewModeNever; 

Aktivieren Sie diese Zeile und löschen Sie ihn oder Anzeigemodus ändern ..

Verwandte Themen