iPhone: UITextField fangst og UITextView
I hvert program, som er planlagt for et tastatur, spesielt hvis du begynner å få inn programmeringen på Apple-plattformen, er det en situasjon som du trenger for å fange hele utgaven. Ideelt, hvis feltet, knapp, vil det bli satt til "Ferdig", så vil du se en fin "Ferdig"-knappen, men dens standard oppførsel, ikke hva du trenger. De bør bare være programmert.
UITextField
Ved UITextField, er saken ganske enkel og begrenset til å legge protokollen i topptekstfilen (*. H), den klassen som vi trenger for å fange tastaturet hendelsen. Det bør legges umiddelbart etter at klassen navn eller klasse der det arver, følgende kode:
<UITextFieldDelegate> Denne protokollen introduserer noen interessante metoder som kan overstyres. I tilfellet ovenfor, for å skjule tastaturet i topptekstfilen bare skriv følgende kode:
- (Bool) textFieldShouldReturn: (UITextField *) theTextField { [NaszTextField resignFirstResponder]; tilbake JA; }
Dette eksempelet forutsetter at utsikten er bare naszTextField.
UITextView
Hvis UITextView, bare endre topptekstfilen for protokollen:
<UITextViewDelegate> og metode, som fanger klikket, som i tilfellet UITextView, oppretter en ny linje i tekstboksen, bruker du følgende kode:
- (Bool) TextView (UITextView *) shouldChangeTextInRange TextView (NSRange) område replacementText: (NSString *) tekst; { if ([tekst isEqualToString: @ "\ n"]) { [TextView resignFirstResponder]; tilbake NO; } tilbake JA; }
UITextView med en avrundet ramme som i UITextField?
Hvorfor ikke? Bare importere den aktuelle klassen:
# Importer <QuartzCore/QuartzCore.h> slik at de vil åpne nye eiendommer i UITextView, tillater å definere farge, tykkelse, og avrunding av rammen. Det er ingenting i veien at UITextView lignet UITextField.
self.naszTextView.layer.borderWidth = 1; self.naszTextView.layer.cornerRadius = 8; self.naszTextView.layer.borderColor = [[UIColor lightGrayColor] CGColor];
Endelig
Det er ingen problem å visningen var det mange TextField'ów og TextView, så bare bruker fangst metoder if'yw eller brytere, hvis du vil.
Sponsor foto: lenke



















































Jeg bruker ofte:
- (Bool) textFieldShouldReturn: (UITextField *) theTextField {
[TheTextField resignFirstResponder];
tilbake JA;
}
Det fungerer bra på flere felt (hvis de skal håndteres på samme måte).