使用UITableViewAutomaticDimension更新UITableViewCell
iOS 8 UITableViewAutomaticDimension
- (void)viewDidLoad {
[super viewDidLoad];
self.heightAtIndexPath = [NSMutableDictionary new];
self.tableView.rowHeight = UITableViewAutomaticDimension;
}
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSNumber * height = [self.heightAtIndexPath objectForKey:indexPath];
if(height){
return height.floatValue;
} else {
return UITableViewAutomaticDimension;
}
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
NSNumber * height = @(cell.frame.size.height);
[self.heightAtIndexPath setObject:height forKey:indexPath];
}
网友评论