UITableView-自定义单元xib中的视图不会独立于其他单元隐藏

时间:2019-10-30 14:53:07

标签: ios uitableview xib

我有一个带有自定义单元格(自定义单元格xib)的UITableView。此自定义单元xib包含另一个xib,该xib具有一些根据绑定到单元的数据需要隐藏的视图。 在单元格中隐藏视图时,所有单元格中的视图都被隐藏。

这是行为标准吗?有没有办法只在一个单元格中隐藏标签?

编辑

UITableView cellForItemAtIndexPath 方法:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
              cellForItemAtIndexPath:(NSIndexPath *)indexPath {  
CellBasic *cell = (CellBasic *)[collectionView dequeueReusableCellWithReuseIdentifier:@"CellBasic" forIndexPath:indexPath];


cell.title.text = currentItem.title;
cell.genre.text = currentItem.genre;

[cell.viewExtraInfo setDetails:(currentItem.format.length > 0) ? currentItem.format : NULL
                          type:(currentItem.type != nil) ? currentItem.type : NULL
                        rating:NULL];

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tappedOnItem:)];
[cell.viewExtraInfo.viewFormatBadge addGestureRecognizer:tap];
cell.viewExtraInfo.viewFormatBadge.tag = indexPath.row;
cell.viewExtraInfo.viewFormatBadge.userInteractionEnabled = YES;

return cell;
}

表视图中的每个单元格都包含一个子xib( viewExtraInfo ),该子对象还包含一个带有三个视图的水平UIStackView,每个视图具有三个标签(viewTypeBadge-labelType,viewFormatBadge-labelFormat,viewRating-labelRating)

每个单元格的表格视图调用的 setDetails 方法(在 viewExtraInfo 中):

- (void) setDetails:(NSString*) format
         type:(NSString*) type
          rating:(NSString*) rating {


if (type){
    self.labelType.text = type;
} else {
    self.viewTypeBadge.hidden = YES;
}

if (format){
    self.labelFormat.text = format;
} else {
    self.viewFormatBadge.hidden = YES;
}

if (rating) {
          self.labelRating.text = rating;
} else {
    self.viewRating.hidden = YES;
}

在一个单元格中隐藏 viewFormatBadge 时,视图将在所有其他单元格中隐藏。

0 个答案:

没有答案