UITextView ausblenden der Tastatur auf das iphone
Möchte ich ausblenden, Tastatur, wenn ein Benutzer drückt die Rückkehr in UITextView
Objekt in iphone. Aber auf mysteriöse Weise ist dies nicht funktioniert für UITextView
aber die Arbeit für UITextField
. Ich bin nicht in der Lage, um herauszufinden, warum...
Dies ist, was ich getan habe:
1) erstellte ich eine view based application in XCode4.
2).xib erstellte UITextView
, UITextField
und UIButton
Objekte
3) Markiert sowohl UITextField
und UITextView
Delegierten auf File ' s Owner in Outlets
4) Hinzugefügt <UITextFieldDelegate>
@Schnittstelle UIViewController .h
5) Hinzugefügt textFieldShouldReturn
Funktion .m
Hier sind die codes:
.h-Datei
@interface keyboardDisappearViewController : UIViewController <UITextFieldDelegate>
{
UITextView *textBoxLarge;
UITextField *textBoxLittle;
}
@property (nonatomic, retain) IBOutlet UITextView *textBoxLarge;
@property (nonatomic, retain) IBOutlet UITextField *textBoxLittle;
- (IBAction)doSomething:(id)sender;
@end
.m-Datei
- (BOOL) textFieldShouldReturn:(UITextField *)theTextField
{
NSLog(@"textFieldShouldReturn Fired :)");
[textBoxLarge resignFirstResponder];
[textBoxLittle resignFirstResponder];
return YES;
}
Erstaunlich, die Tastatur verschwindet bei textBoxLittle (UITextField), nicht aber im Fall von textBoxLarge(UITextView)
Als eine weitere Prüfung, die ich, aus die Taste um den Anruf-Funktion doSomething
- (IBAction)doSomething:(id)sender {
[textBoxLarge resignFirstResponder];
[textBoxLittle resignFirstResponder];
}
Wenn ich drücken Sie die Taste, die Tastatur verschwindet in beide Textfelder.
Seine mich verrückt warum textFieldShouldReturn arbeitet für kleine textbox, aber NICHT für große textbox.
Bitte Um Hilfe!!
InformationsquelleAutor jerrymouse | 2011-07-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie code schreiben, der in
UITextViewDelegate
und ordnen Sie ihn Ihrer Klasse.wo muss ich den folgenden code schreiben? .m-Datei?
Ich habe es ich habe geschrieben
@interface keyboardDisappearViewController : UIViewController <UITextFieldDelegate>
Wie Sie schreiben beide<UITextFieldDelegate> and <UITextViewDelegate>
einfach : <UITextFieldDelegate,UITextViewDelegate>
Deine Antwort ist nicht sehr informativ.
InformationsquelleAutor Abdurrashid Khatri
Drei Dinge:
Machen Sie Ihre Ansicht implementieren UITextViewDelegate.
Fügen Sie die folgende Methode:
Satz der Besitzer der Datei als Delegierter für die UITextView im interface builder.
(BTW: Lösung kopiert aus den Kommentaren zu der vorherigen Antwort, es dauerte eine Weile, zu extrahieren. Ich dachte, andere profitieren könnten aus meiner Erfahrung.)
InformationsquelleAutor Roger C S Wernersson
Einfachen trick
Set
delegate
für Ihren text anzeigen und dannAktion Verbindung extern anzeigen für
control event didEndOnExit and tuchupinside
//Zu entlassen, key-board, wenn Benutzer klickt auf enter/return
InformationsquelleAutor Ranga
Haben Sie codiert in die .h-Datei:
Sollte es sein:
IBOutlet
, aber hat nichts daran geändert, ivar? Er sollte wohl nicht haben, den ivar in den ersten Platz, sondern lassen Sie den compiler synthetisieren, aber sicherlich mit dem ivar nicht mit der Eigenschaft können nicht gut sein. Und, eh, ihm zu sagen, nicht um einenUITextView
nur umgeht die Frage, da war das problem er war zu lösen versuchen.InformationsquelleAutor Aaron Leanage
Verwenden Sie diesen code
Erben UITextViewDelegate Protokoll in Ihrem Viewcontroller hinzufügen von text
In der viewDidLoad-setzen Sie sich als Delegierter:
Implementierung der delegate-Methode unten:
InformationsquelleAutor Nvork
Wichtige Punkte
Muss jemand sein warten auf die Return-Taste drücken
Jemand muss manuell schließen Sie die Tastatur,
#1: Erstellen Sie eine UITextFieldDelegate und weisen Sie es als die Delegierten zu Ihrer UITextField -
#2: Haben 'yourUITextFieldDelegate' enthalten die folgenden -
InformationsquelleAutor J-Dizzle
Wenn Sie hierher gekommen auf der Suche für die schnelle Lösung, wie ich es Tat, hier sind Sie 🙂
InformationsquelleAutor Sven Pfeiffer