私は UITableView を作成し、いくつかのカスタム UITableViewCells を含めました。最初のセル (たとえば、cell0 という名前) には、入力用の UITextFields がいくつかあります。tableView をスクロールすると、cell0 が画面の上部から消えます。UITextField のテキストを取得するにはどうすればよいですかセル0で?
cellForRowAtIndexPath
nil を返します。
私は UITableView を作成し、いくつかのカスタム UITableViewCells を含めました。最初のセル (たとえば、cell0 という名前) には、入力用の UITextFields がいくつかあります。tableView をスクロールすると、cell0 が画面の上部から消えます。UITextField のテキストを取得するにはどうすればよいですかセル0で?
cellForRowAtIndexPath
nil を返します。
私が見つけた唯一の方法は、テーブルビューデリゲートです
- (void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
[cell dealloc]
}
UITableViewCells
の表示可能領域を残すと、実際UITableView
にはテーブルビューから削除され、再利用キューに戻されます。再利用のために選択された場合は、によって返されdequeueReusableCellWithIdentifier:
ます。
セルがビューから削除されたときのコールバックはありません。ただし、prepareForReuse
によって返される直前にセルで呼び出されdequeueReusableCellWithIdentifier:
ます。
最終的に何をしようとしているのですか?
NSArray
テキストが変更された瞬間に、テキストをどこかに保存する必要があります (例: )。
テキストフィールドをインスタンス変数として初期化できます。
のように見える:
.h
UITextField *textfiled;
.m
-(void)viewDidLoad
{
//init textfield
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//init cell...
[cell addSubview:textfield];
return cell;
}