0

xib からロードされたカスタム セルを含むテーブル ビューがあります。セルにはボタンがあり、タッチダウンすると画像が変更されます。私の問題は、ビューの外側でテーブルを上下にスクロールするときに、ボタンがデフォルトの画像をリロードすることです。

これは私のコードです

テーブルの場合:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifer=@"LabelCell";
    TestTableCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifer];

   if (cell==nil) 
    {
       cell = [[TestTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifer];

        NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"TestTableCell" owner:nil options:nil];

        for (UIView *view in views) 
        {
            if([view isKindOfClass:[TestTableCell class]])
            {
                cell = (TestTableCell*)view;
            }
        }

    cell.selectionStyle=UITableViewCellSeparatorStyleNone;
    UIImage *cellbackground=[[UIImage imageNamed:@"cell-background.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5)];
    cell.backgroundView=[[UIImageView alloc]initWithImage:cellbackground];

   }
    return  cell;
}
4

1 に答える 1

1

画像が押されたかどうかをデータモデルに保存する必要があります。UITableView は、スクロール中にセルを他の行に再利用し、セル内のすべてが忘れられます。

于 2012-09-13T17:15:41.970 に答える