Sto fondamentalmente cercando di aggiungere un UITextField ad un UITableViewCell su tableView: commitEditingStyle: forRowAtIndexPath :. Su inserto, voglio aggiungere un UITextField sulla cella esistente.
I ha installato il textField con qualcosa di simile:
-(void) setUpIndexField {
inputField = [[UITextField alloc] init];
inputField.textAlignment = UITextAlignmentCenter;
inputField.borderStyle = UITextBorderStyleRoundedRect;
inputField.keyboardType = UIKeyboardTypeNamePhonePad;
inputField.delegate = self;
}
Poi, nel commitEditingStyle, ho qualcosa come ad esempio:
- (void)tableView:(UITableView *)tv
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger row = [indexPath row];
if (editingStyle == UITableViewCellEditingStyleInsert) {
if (row == 0) {
UITableViewCell *cell = [tv cellForRowAtIndexPath:indexPath];
inputField.frame = [tv cellForRowAtIndexPath:indexPath].frame;
[cell.contentView addSubview:inputField];
[inputField becomeFirstResponder];
return;
}
// more code etc.
}
Quando scatto sopra la funzione di accesso Inserisci (+), il textField effettivamente ottenere lasciò sullo schermo, ma non è affatto la cella che sta clic su di esso. Si spegne in una parte casuale del UIView, non il cellulare effettivo per l'indexPath dove è stato cliccato il +.
Insight su dove ho sbagliato e come posso mettere l'UITextField sulla cella in cui l'+ è stato cliccato sarebbe l'ideale.













