Είμαι βασικά προσπαθώ να προσθέσετε ένα UITextField σε UITableViewCell κατά TableView: commitEditingStyle: forRowAtIndexPath :. Στο ένθετο, θέλω να προσθέσω μια UITextField πάνω από το υπάρχον κύτταρο.
Μπορώ να ρυθμίσω το πεδίο κειμένου με κάτι σαν αυτό:
-(void) setUpIndexField {
inputField = [[UITextField alloc] init];
inputField.textAlignment = UITextAlignmentCenter;
inputField.borderStyle = UITextBorderStyleRoundedRect;
inputField.keyboardType = UIKeyboardTypeNamePhonePad;
inputField.delegate = self;
}
Στη συνέχεια, το commitEditingStyle, έχω κάτι όπως:
- (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.
}
Όταν κάνω κλικ στο στοιχείο πρόσβασης Insert (+), το πεδίο κειμένου πράγματι να plopped στην οθόνη, αλλά όταν δεν κοντά στο κύτταρο που είναι το κλικ. Δεν πηγαίνει μακριά σε ένα τυχαίο μέρος του UIView, όχι το πραγματικό κύτταρο για την indexPath στο οποίο έγινε κλικ το +.
Insight για το πού πήγα στραβά και πώς μπορώ να τοποθετήσετε το UITextField πάνω στο κελί όπου το + έγινε κλικ θα ήταν ιδανικό.













