iGamer n.1 Novembre - Dicembre 2011

Page 29

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; val1.delegate=self; val2.delegate=self; } -(IBAction) calcola{ [val1 resignFirstResponder]; [val2 resignFirstResponder];

}

NSInteger valore1 = [val1.text integerValue]; NSInteger valore2 = [val2.text integerValue]; NSInteger risultato = valore1+valore2 ; result.text = [NSString stringWithFormat:@”%d”,risultato,nil];

Notiamo l’implementazione di viewDidLoad all’inizio, questo metodo viene richiamato appena la schermata è visibile e si tratta di uno dei metodi forniti da UIViewController. Lo utilizziamo per settare che la classe calcViewController (self) sarà UITextFieldDelegate delle 2 textField per l’inserimento : val1.delegate=self . Implementiamo ora [val1 resignFirstResponder]; [val2 resignFirstResponder]; nel metodo calcola per far tornare le 2 textField primi risponditori di eventi appena viene premuto il bottone per calcolare. Da notare che quando si clicca su una textField il controllo passa alla tastiera, facendo tornare primo risponditore la textField il controllo torna ad essa perciò la tastiera sparisce. La stessa cosa la applichiamo al metodo - (BOOL)textFieldShouldReturn:(UITextField *)textField{ fornito da UITextFieldDelegate viene richiamo ogni volta che sulla tastiera si preme invio, in più ci viene passato come parametro anche la referenza alla UITextField che è stata cliccata e di cui la tastiera ha preso il controllo, perciò a questo punto risulta semplice: [textField resignFirstResponder]; A questo punto possiamo fare run, e vedere il risultato, la tastiera dovrebbe svanire cliccando su calcola o premendo invio una volta inserito il numero, oltre che mostrarsi già numerica, per un risultato finale come in figura 6. Per questo numero è tutto, alla prossima!

27


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.