heightForRowAtIndexPath = 0但它仍然在其行中显示标签

时间:2013-10-19 05:26:44

标签: ios6 tableview cell

我有一个表视图,我设置所有奇数单元格高度= 0,在奇数单元格中我有一些标签。当它显示表格视图时,奇数单元格中的标签出现在偶数单元格中。有没有办法让标签消失?这个问题发生在ios 6中 P / S: 在ios 7中:它工作正常。 我已经有了方法:[tableView beginUpdates]; [tableView endUpdates];

感谢。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

    // show odd row
    if (selectedRow == indexPath.row) return 78;

    // hide odd row  and show even row
    if (indexPath.row %2 ==0){
        return 88;}
    else{
        return 0;}
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{


    if (indexPath.row%2 == 0){


        //user click on even row -> display the next row 
        selectedRow = indexPath.row+1;

        [tableView beginUpdates];

        [tableView endUpdates];

    }
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    int index = indexPath.row / 2;

    if (indexPath.row %2 ==0){

        static NSString *CellIdentifier = @"PhraseViewCell";

        PhraseCellVietnamese *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

        NSString *phrase = [[phrases objectAtIndex:index] objectForKey:@"vietnamese"];

        NSNumber *checkFavorite =  [[phrases objectAtIndex:index] objectForKey:@"favorite"];

        NSNumber *phraseId =[[phrases objectAtIndex:index] objectForKey:@"_id"];

        [cell SetInfo:phrase :checkFavorite.intValue :phraseId.intValue];

        return cell;

    }
    else{

        static NSString *CellIdentifier = @"PinyinViewCell";

        PinYinViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

        NSString *pinyin = [[phrases objectAtIndex:index] objectForKey:@"pinyin"];

        NSString *chinese = [[phrases objectAtIndex:index] objectForKey:@"chinese"];

        NSString *voice = [[phrases objectAtIndex:index] objectForKey:@"voice"];

        [cell setInfo:pinyin :chinese :voice];

        return cell;
    }
}

2 个答案:

答案 0 :(得分:23)

[cell setClipsToBounds:YES];在cellForRowAtIndexPath

为我工作。希望你找到解决方案。

答案 1 :(得分:4)

阅读用户2799736后,我改变了 剪辑子视图 在.xib文件中为YES。 为我工作。