UITableView点击展开cell



  •  
1.定义控制cell的两个变量 
    //最近打开的index 
    int currentClickIndex; 
    
    //是否打开cell 
    BOOL isOpenCell; 

2.给变量赋值 
- (void)viewDidLoad 

    [super viewDidLoad]; 
    currentClickIndex = -1; 
    [self.answerTableView registerClass:[AnswerTableViewCell class] forCellReuseIdentifier:cellString]; 
    


3.控制cell返回的高度 
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    
    if (indexPath.row == currentClickIndex) { 
        if (isOpenCell == YES) { 
            currentClickIndex = indexPath.row; 
            return [self.dataHeights[indexPath.row] floatValue] + 44.0f; 
        } 
         return 44.0f; 
    }else{ 
        return 44.0f; 
    } 


4.点击时改变操作 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
    
    if (indexPath.row == currentClickIndex) { 
        isOpenCell = !isOpenCell; 
    }else{ 
        isOpenCell = YES; 
    } 
    
    currentClickIndex = indexPath.row; 
    
    [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 


ok,这样就可以做一个点击展开cell了。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值