美文网首页程序员
Cell点击改变高度

Cell点击改变高度

作者: 十一遥 | 来源:发表于2018-02-22 12:22 被阅读25次

点击改变cell的高度,先看效果


clickCell.gif

其实核心代码就两行,把它写在didSelectRowAtIndexPath方法里就成

   [self.tableView beginUpdates];
   [self.tableView endUpdates];

下面请看我的代码


#import "FFTableViewController.h"

@interface FFTableViewController ()

// Record the indexPath row of clicks
@property (nonatomic,assign) NSInteger selectedIndex;

@end

@implementation FFTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
 
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return 20;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    static NSString *const ID = @"cell";
    
    UITableViewCell *cell = [ tableView dequeueReusableCellWithIdentifier :ID];
    
    if (cell == nil) {
        
        cell = [[ UITableViewCell alloc]initWithStyle :UITableViewCellStyleDefault reuseIdentifier :ID ];
        cell.textLabel.text = @"Jeffin";
    }
    
    return cell;

}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    if (self.selectedIndex - 100 == indexPath.row ) {
        
        return 120;
    }else{

        return 40;
    }
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    if (self.selectedIndex - 100 == indexPath.row) {
        
        self.selectedIndex = 0;
    }else{
        
        self.selectedIndex = 100 + indexPath.row;
    }
    
    // This is where magic happens...
    [self.tableView beginUpdates];
    [self.tableView endUpdates];
}

相关文章

网友评论

    本文标题:Cell点击改变高度

    本文链接:https://www.haomeiwen.com/subject/weoatftx.html