Monday, 6 september 2010

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


Relaterte oppføringer

Kategorier: iPhone / guider
Du kan følge eventuelle svar på denne oppføringen gjennom fôret RSS 2.0 . Du kan også skrive dine egne kommentarer , eller for å koble til dette innlegget på siden din.

En kommentar

11 desember 2010

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).


  • Obraz CAPTCHY
    Oppdater bilde
    *

    Spam Beskyttelse av WP-SpamFree