I have a UITable containing some UITableCells. These cells contain several UILabels and UITextField. The table data source comes from the main controller property. (This controller is also the delegate and data source for the table).
Here's a simplified screenshot of the user interface:

Now I need to update the contents of all UILabels on the fly when the user edits one of the UITextFields. To do this, I listen to the "Edited Changed" event at the UITextField level. This causes the following action:
- (IBAction) editChangeHandler: (id) sender { MyAppDelegate *delegate = [[UIApplication sharedApplication] delegate]; [[delegate.viewController.myDataSourceArray objectAtIndex:self.rowIndex] setANumber: [theTextField.text intValue]]; [delegate.viewController reloadRows]; }
The reloadRows method in viewController is as follows:
- (void) reloadRows { NSLog(@"called reloadRows");
My problem is that whenever the user changes the value in the field, the reloadRows method is called successfully, so apparently this is reloadData, but also causes the keyboard to be rejected.
Thus, at the end, the user can touch only one key when editing the TextField before the keyboard is fired and the table reloads.
Does anyone know about this solution or have experienced the same problem?
source share