У меня есть вид с несколькими UITextFields
в нем. У меня также есть высокий уровень UISegmentController
, который меняет представление. Когда я ввожу текст в поле, затем нажимаю кнопку «Скрыть клавиатуру», а затем меняю сегменты, это хорошо сохраняется. Но когда я ввожу текст и не нажимаю кнопку разблокировки клавиатуры, а затем переключаю сегменты, текст не сохраняется.
Как я могу это исправить?
Вот некоторый код для UITextField
в моем обычае UITableViewCell
:
- (IBAction)col2_doubleValueChanged:(id)sender
{
NSString *newValue = [NSString stringWithFormat:@"%@/%@", self.col2_doubleEntryValue_1.text, self.col2_doubleEntryValue_2.text];
NSMutableDictionary *result = [[[NSMutableDictionary alloc] init] autorelease];
[result setValue:self.row_key forKey:@"row_key"];
[result setValue:@"1" forKey:@"column"];
[result setValue:newValue forKey:@"col2_value"];
[[self delegate] editDidFinish:result];
[[self delegate] valueChanged];
}
- (IBAction)col2_singleValueEditDidBegin:(id)sender
{
}
Edit:
- (void)valueChanged
{
self.dirtyFlag = 1;
}
- (int)saveDataToServer
{
[self.tableView resignFirstResponder];
if (!dirtyFlag) {
return 0;
}
NSString *errors = [DataSource updatePatientWorkflowClinicalChecklistForAppointment:[[[DrChronoDataSource getCurrentAppointment] valueForKey:@"appointment_id"] intValue] clinicalInfo:self.clinicalChecklist checklistId:[self.clinicalChecklistId intValue] patientWorkflowServerId:patientWorkflowServerId];
if ((NULL == errors) || ![errors isEqualToString: @""]) {
//Show error messages.
if (NULL == errors) {
errors = @"Failed to save data to server. Please retry.";
}
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Status" message:errors delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
return -1;
} else {
[self dismissModalViewControllerAnimated:FALSE];
}
self.dirtyFlag = 0;
return 0;
}