Je suis fondamentalement d'essayer d'ajouter un UITextField à un UITableViewCell sur tableView: commitEditingStyle: forRowAtIndexPath :. Sur insert, je veux ajouter un UITextField sur la cellule existante.
Je configurer le textField avec quelque chose comme ceci:
-(void) setUpIndexField {
inputField = [[UITextField alloc] init];
inputField.textAlignment = UITextAlignmentCenter;
inputField.borderStyle = UITextBorderStyleRoundedRect;
inputField.keyboardType = UIKeyboardTypeNamePhonePad;
inputField.delegate = self;
}
Puis, en commitEditingStyle, j'ai quelque chose comme:
- (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.
}
Lorsque je clique sur l'accesseur Insérer (+), le champ de texte ne se laissa tomber en effet sur l'écran, mais pas près de la cellule qui est cliquant dessus. Il en va dans une partie aléatoire de la UIView, pas la cellule réelle pour le indexPath à où le + a été cliqué.
Aperçu de l'endroit où je suis allé mal et comment je peux placer le UITextField sur la cellule où le + a été cliqué serait idéal.













