Ich versuche im Grunde eine UITextField zu einem UITableViewCell auf Tableview hinzuzufügen: commitEditingStyle: forRowAtIndexPath :. Am Einsatz möchte ich eine UITextField über die bestehende Zelle hinzuzufügen.
Ich Setup das Textfeld mit etwas wie folgt aus:
-(void) setUpIndexField {
inputField = [[UITextField alloc] init];
inputField.textAlignment = UITextAlignmentCenter;
inputField.borderStyle = UITextBorderStyleRoundedRect;
inputField.keyboardType = UIKeyboardTypeNamePhonePad;
inputField.delegate = self;
}
Dann in commitEditingStyle, habe ich etwas wie:
- (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.
}
Wenn ich auf dem Accessor Einfügen klicken (+), wird das Textfeld in der Tat auf den Bildschirm plumpst, aber nicht, wo in der Nähe der Zelle, die es einen Klick wird. Es geht in einen zufälligen Teil des UIView, nicht die eigentlichen Zelle für die indexPath aus an, wo die + geklickt wurde.
Insight auf, wo ich schief gelaufen ist und wie ich die UITextField auf die Zelle platzieren kann, wo die + geklickt wurde wäre ideal.













