0

UITableViewCell 内に UITableView があります。内側のテーブルビューのサイズは 5 で、各セルのコンテンツ ビューの背景色が異なり、編集可能です。内側のテーブルビューのテーブルビュー セルを並べ替えることができます。

外側の UITableViewCell のカスタム backgroundview があります。

 UIView *selectedBackgroundView = [[UIView alloc] init];
 selectedBackgroundView.layer.borderColor = [[UIColor grayColor] CGColor];
 selectedBackgroundView.layer.borderWidth = 1;
 selectedBackgroundView.backgroundColor = [UIColor clearColor];
 cell.selectedBackgroundView = selectedBackgroundView;

テーブルビューセルを選択すると、内側のテーブルビューのテーブルビューセルの背景色が白に変わります。

//親TableViewのCellForRowコード

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

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

    if (cell == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"TableViewCellCustom" owner:self options:nil];
        cell = _tableViewCellCustom;

        UIView *selectedBackgroundView = [[UIView alloc] init];
        selectedBackgroundView.layer.borderColor = [[UIColor grayColor] CGColor];
        selectedBackgroundView.layer.borderWidth = 1;
        selectedBackgroundView.backgroundColor = [UIColor clearColor];
        cell.selectedBackgroundView = selectedBackgroundView;
    }

    CustomPosition *customPosition = [_filteredArray objectAtIndex:indexPath.row];

    [cell setProductsArray: customPosition.productsArray];//Sets the products and reloads child tableview

    return cell;
}

//子テーブルビューのCellForRow

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    TableViewCellProduct *cell = (TableViewCellProduct *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"TableViewCellProduct" owner:self options:nil];
        cell = _tableViewCellProduct;

        cell.viewProduct.transform = CGAffineTransformRotate(cell.viewProduct.transform, M_PI_2);
    }

    switch (indexPath.row) {
        case 0:
            cell.viewProduct.backgroundColor = [UIColor redColor];
            break;

        case 1:
            cell.viewProduct.backgroundColor = [UIColor greenColor];
            break;

        case 2:
            cell.viewProduct.backgroundColor = [UIColor blueColor];
            break;

        case 3:
            cell.viewProduct.backgroundColor = [UIColor yellowColor];
            break;

        case 4:
            cell.viewProduct.backgroundColor = [UIColor grayColor];
            break;

        default:
            break;
    }

    Product *product = [_productsArray objectAtIndex:indexPath.row];
    cell.lblProductName.text = product.name;

    return cell;
}

横のテーブルビューが欲しかったので、子のテーブルビューを回転させました。

誰でもこれの解決策を知っていますか?

4

1 に答える 1