3

2 つのビューがUITableViewCellあり、各セルに別のビューを表示したい (前のセルの右側のビューがオンの場合、次のセルの左側のビューがオンになっている)。

私はそれを正常に実装しましたが、テーブルビューをスクロールすると、交互のビューが正しく機能しません。以下の例の画像:

問題の画像

私のコードは次のとおりです。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"LiveStreamCell" forIndexPath:indexPath];
    
    if(cell == nil)
    {
        cell =[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"LiveStreamCell"];
    }

    
    UIView *leftView = (UIView*)[cell viewWithTag:999];
    UIView *rightView = (UIView*)[cell viewWithTag:998];

    UIImageView *mediaImage;
    mediaImage.clipsToBounds = YES;
    
    UILabel *artistLabel;
    UILabel *titleLabel;
    UILabel *statusLabel;
    
    if (isViewOnLeft) {
    
        isViewOnLeft = NO;
        
        rightView.hidden = NO;
        leftView.hidden = YES;
        
        mediaImage = (UIImageView *)[cell viewWithTag:221];
        
        CALayer *cellImageLayer = mediaImage.layer;
        [cellImageLayer setCornerRadius:74];
        [cellImageLayer setMasksToBounds:YES];
        
        artistLabel = (UILabel *)[cell.contentView viewWithTag:222];
        titleLabel = (UILabel *)[cell.contentView viewWithTag:223];
        statusLabel = (UILabel *)[cell.contentView viewWithTag:224];
        
        
    }
    else {
        
        isViewOnLeft = YES;
        
        leftView.hidden = NO;
        rightView.hidden = YES;
        
        mediaImage = (UIImageView *)[cell viewWithTag:121];
        
        CALayer *cellImageLayer = mediaImage.layer;
        [cellImageLayer setCornerRadius:74];
        [cellImageLayer setMasksToBounds:YES];
        
        artistLabel = (UILabel *)[cell.contentView viewWithTag:122];
        titleLabel = (UILabel *)[cell.contentView viewWithTag:123];
        statusLabel = (UILabel *)[cell.contentView viewWithTag:124];  
    }

   /*Here I'm setting image (come from web URLs) and labels data*/
}

ストーリーボードのスクリーンショット:

絵コンテ

問題はセルの再利用性にあることは知っていますが、よく検索しましたが、うまくいきませんでした。解決策を提案してください。

ありがとう!

4

1 に答える 1