Возникли проблемы с динамически созданным UITextField в iphone SDK - PullRequest
1 голос
/ 29 января 2011

В моем приложении для iphone я динамически создал UITextField в scrollView. И добавил одну кнопку в xib. В событии TouchUpInside этой кнопки я открыл UIImagePickercontroller, чтобы открыть библиотеку фотографий и получить выбранное изображение в UIImageView.

Теперь, когда modalview отклоняется, значения в моем UITextField исчезают.

Как сохранить значения UITextField?

txt = [[UITextField alloc] initWithFrame:CGRectMake(10.0f, 30.0f, 200.0f, 30.0f)];

[txt addTarget:self action:@selector(keyDown:)forControlEvents:UIControlEventEditingDidEndOnExit];

txt.textColor = [UIColor blackColor];

txt.borderStyle = UITextBorderStyleBezel;

txt.autocorrectionType = UITextAutocorrectionTypeNo;

[fieldArray addObject:txt];

Используя цикл for, я добавляю txt в NSMutableArray fieldArray.

Вот код, из которого я получаю значения из TextFields

NSMutableArray *insertValues = [[NSMutableArray alloc]init];

//Taking values from textFields

for (int i=1; i<=nooffields; i++) {

    UITextField *tf = (UITextField *)[self.view viewWithTag:i];

    NSLog(@"TF : %@",tf.text);

    if (tf.text.length<=0) {

        tf.text=@"";

    }

    [insertValues addObject:[NSString stringWithFormat:@"'%@'",tf.text]];
}

РЕДАКТИРОВАТЬ: А также, когда я отображаю значения из базы данных в этом textFields и пытаюсь редактировать его. Это дает мне нулевые значения.

В чем может быть причина? Есть ли другие альтернативы? пожалуйста, помогите мне

Ответы [ 3 ]

3 голосов
/ 14 марта 2013
UITextField *textField=[[UITextField alloc]init];
[textField setFrame:CGRectMake(x,y, width, hight)];
[textField setBorderStyle:UITextBorderStyleRoundedRect];
[self.view addSubview:textField];
0 голосов
/ 15 февраля 2011

Я наконец-то нашел решение своей проблемы.

Я временно сохраняю значения моего textField в базе данных при вызове presentModalViewController.

Эти значения я получаю обратно в textFields в viewWillAppear.

Возможно, это не очень эффективное решение, но в моем случае оно сработало.

Надеюсь, это кому-нибудь поможет.

Спасибо за все ваши ответы.

0 голосов
/ 29 января 2011

Информация, которую ваше представление прокрутки использует для заполнения, должна храниться вне области просмотра прокрутки, например, в NSMutableDictionary. Поэтому каждый раз, когда вызывается cellForRowAtIndexPath, он может извлечь информацию из этого источника. Поэтому я советую вам хранить текст UITextField в словаре. Вы можете индексировать его по номеру тега. Таким образом, вы не потеряете все, что в нем содержится.

Я надеюсь, что это поможет вам

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...