各UITableViewセルにUITextFieldを配置しました。 UITableViewセルをスクロールしている間、UITextField上のテキストは失われています。これを防ぐには何ができますか?UITableViewCell上に配置されたUITextFieldの値が失われています
2
A
答えて
1
enter code here
テキストフィールドの値を格納するNSMutableArrayを追跡する必要があります。 @ ""初期値を作る。テキストフィールドをセルに挿入すると、配列の適切な値から値のフォームを取得します。
テキストフィールドが終了し、[いいえ、まだ解決されていない配列
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
UITableViewCell *cell=(UITableViewCell *)textField.superview;
NSIndexPath *indexPath = [table indexPathForCell:cell];
NSMutableArray *rows=[sectionArray objectAtIndex:[indexPath section]];
NSString *string=[rows objectAtIndex:indexPath.row];
string=textField.text;
[[sectionArray objectAtIndex:[indexPath section]]replaceObjectAtIndex:[indexPath row] withObject:string];
[textField resignFirstResponder];
return YES; }
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *myCellId= @"myDateCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myCellId];
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier: myCellId];
CGRect textFieldFrame;
CGRect labelFrame;
labelFrame = CGRectMake(cell.frame.origin.x+45, cell.frame.origin.y+3, labelWidth, cell.bounds.size.height-5);
textFieldFrame = CGRectMake(cell.frame.origin.x+labelWidth+15, cell.frame.origin.y+12 ,cell.
UILabel *label = [[UILabel alloc]initWithFrame:labelFrame];
UITextField *textField = [[UITextField alloc]initWithFrame:textFieldFrame];
textField.keyboardType=UIKeyboardTypeNumberPad;
textField.delegate = self;
textField.text = [[sectionArray objectAtIndex:[indexPath section]]objectAtIndex:[indexPath row]];
[cell addSubview:label];
[cell addSubview:textField];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
0
スクロールすると、テーブルビューはダイナミックにセルを作成して破棄し、メモリに保存するためです。この問題を解決する方法がまだ分かっていない場合は、私に知らせてください。解決策を見つけるのを手助けします。
+0
の値をテキストフィールド格納するために、このような代を行います。 –
関連する問題
- 1. UITextFieldプレースホルダテキストの位置が正しく配置されていて、方向が変更されています
- 2. UITableViewCellのUITextFieldがスローされます - [UITextInputTraits length]:インスタンスに送信されたセレクタが認識されません
- 3. Firebaseが配置されたアレイからUITableViewCellデータを渡す
- 4. Ajax.ActionLinkの値が失われました
- 5. UITableViewCellのUITextFieldの元の値
- 6. イメージマップ/配置されたイメージの上にアンカーが配置されている(Firefoxの問題)
- 7. UITableViewCell画像が上部に固定されています
- 8. ツールバー内のImageViewがタブレット上に配置されていない
- 9. サーバー上で絶対配置が無視されています
- 10. 値が配列に配置されていない
- 11. 画像はナビゲーションサブメニューの上部に配置されています
- 12. UITextFieldボタンが押され、テキストフィールドスイッチ(キーボードが表示されたままになっている)の後にフォーカスが失われる
- 13. フラットテーブルの上に失われたデータに
- 14. UITableViewCellが選択されたときにUIButtonが覆われる
- 15. xcode/iOS:同じフレームでUITableViewCellにオーバーレイされたUITextFieldが一致しません。
- 16. 検証の失敗後にネストされたリソースフォームの値が失われる
- 17. UITableViewCellでネストされたUITextFieldを選択する
- 18. 全プログラムヌル値に失われました
- 19. テキストボックス内のカーソルが上部の代わりに中央に配置されています
- 20. uitableview配列の内容が失われています
- 21. スパン位置の絶対値が上と左の中央に配置されていません
- 22. Qt:フォーカスが失われても子ウィンドウを親の上に置いてください。
- 23. UITtackViewが配置されたサブビューを変更すると、UITableViewCellのサイズが変更されません。
- 24. UITableViewCell内のUITextFieldがスクロールで消去される
- 25. UITableViewCell内のUITextFieldでクリアされない文字
- 26. ウォーターマークラベルが選択ストップの上に配置されています。クリック伝播
- 27. selectOneRadioページ内のデータリスト内のチェックされた値が失われました
- 28. MongoDBへの投稿時にフォーマットが失われたネストされた配列
- 29. UITableViewCellのUITextField
- 30. UITableViewCellのUITextField
あなたの答えはありがたいですが、このメソッドはテキスト入力後に呼び出されますが、スクロール後に以前に入力した値をフェッチして、その値をTextFieldに再度表示する方法はありますか? –
セルが作成されると、それはテキストフィールドを含み、そのテキストフィールドは配列の正しいエントリからその値をプリロードします。だから、テーブル内のセルがどの行にあるのかを調べ、その値を配列から取得してください(デフォルト値のすべての場所で@ ""をプリロードすることを忘れないでください)。 – James
しかし、スクロールしている間に、表示されているテキストフィールドの名前をクリックすることなく知ることができますか? –