Хорошо, если вы делаете настройки, я бы посоветовал поместить их в правильное место и использовать файл Settings.bundle.
Полагаю, вы выполняете настройки, хотя они очень важны для вашего приложения, и было бы ужасно, если бы пользователям приходилось переходить из приложения в настройки и обратно.
Когда вы говорите, что выполнение задачи тяжело - можете ли вы уточнить - как я это сделал, и это не было тяжело.
Использовать UITableViewController
для каждой ячейки, которую вы хотите использовать, введите код, подобный следующему:
cell.textLabel.text = @"Last name:";
UIFont *labelFont = [UIFont systemFontOfSize:[UIFont labelFontSize]];
CGSize textSize = [cell.textLabel.text sizeWithFont:labelFont];
baseRect.origin.x = textSize.width+15;
baseRect.origin.y +=7;
baseRect.size.width = baseRect.size.width - textSize.width - 15;
baseRect.size.height = 23;
UITextField *textField = [[UITextField alloc] initWithFrame:baseRect];
textField.keyboardType = UIKeyboardTypeAlphabet;
textField.returnKeyType = UIReturnKeyDone;
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
textField.delegate = self;
textField.placeholder = @"last name";
[textField addTarget:self action:@selector(lastNameChanged:) forControlEvents:UIControlEventAllEditingEvents];
textField.tag = 182;
[cell.contentView addSubview:textField];
[textField release];
Это помогло мне воспроизвести интерфейс, о котором вы говорите - пример здесь - TextField - но тот же код очень хорошо работал со всеми элементами управления.