0

私はs のUITableView束を持っていUITableViewCellます。これらUITableViewCellの には、複数UITextFieldの があります。

UITableViewCell上下にスクロールしてs がビューから出て戻ってくるたびに、 s 内に入力したテキストがUITextField消えます。これを機能させる最良の方法は何ですか?

static NSString *CellIdentifier = @"Cell";

ComplaintsCustomCell *cell=(ComplaintsCustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if(cell==nil){
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ComplaintsCustomCell" owner:self options:nil];

    for(id currentObject in topLevelObjects){

        if([currentObject isKindOfClass:[UITableViewCell class]]){
            cell = (ComplaintsCustomCell *) currentObject;
            break;
        }
    }
}

cell.durationFld.text=[dict valueForKey:@"Duration"];
[cell.durationFld setTag:indexPath.row + 5000];
4

3 に答える 3

0

NSMutableArray各位置に、NSString各セルに一致するオブジェクトを保持する を作成します。

config + の各セルを表示するとき- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathに、UITextField のテキストを indexPath.row の位置にある配列の文字列に設定します。

を編集するとき、配列内の現在の位置にオブジェクトをUITextField挿入/更新しますNSStringindexPath.row

于 2013-04-01T10:59:30.803 に答える
-1

一般的な提案:

メソッドに配置/作成UITextFieldcellForRowAtIndexPathて追加

    [cell.contentView addSubview:textFieldName]

このコードは

if(cell == nil)
 { 
     // put UITextField here
 }

cellForRowAtIndexPathメソッドで。

于 2013-04-01T10:55:19.000 に答える