FDTemplateLayoutCell

UITableView-FDTemplateLayoutCell 学习笔记

FDTemplateLayoutCell使用记录
UITableView-FDTemplateLayoutCell详细讲解思路

  • 存在问题:
  • •如何显示多张图片
  • •点击图片看大图
  • •点击内容可以隐藏内容
  • •点击内容可以隐藏图片
  • •创建 cell 的时候,就算出现红色报警的布局警告,请忽略
  • •如果控件高度是根据内容来定高,比如 UILabel ,就一定要设置 lines 为 0

目录:

  1. 【 UITableView+FDTemplateLayoutCell 】 tableview 自动布局 使用: Frame layout mode
  2. 【 UITableView+FDTemplateLayoutCell 】 tableview 自动布局 使用: Debug log
  3. 【 UITableView+FDTemplateLayoutCell 】 tableview 自动布局 使用:基本使用和缓存 API
  4. 【 UITableView+FDTemplateLayoutCell 】使用例子

【 UITableView+FDTemplateLayoutCell 】使用例子

https://github.com/search?utf8=%E2%9C%93&q=UITableView%2BFDTemplateLayoutCell

【 UITableView+FDTemplateLayoutCell 】 tableview 自动布局 使用:基本使用和缓存 API

Basic usage ( configuration )   
#import "UITableView+FDTemplateLayoutCell.h"  

- ( CGFloat ) tableView: ( UITableView * ) tableView heightForRowAtIndexPath: ( NSIndexPath * ) indexPath  
{  
    return [ tableView fd_heightForCellWithIdentifier:@"reuse identifer" configuration:^ ( id cell ) {  
        // Configure this cell with data , same as what you've done in "-tableView:cellForRowAtIndexPath:"  
        // Like:  
        //    cell.entity = self.feedEntities [ indexPath.row ];   
    } ];   
}  


Height Caching API ( cacheByIndexPath )   
#import <UITableView+FDTemplateLayoutCell.h> 

- ( CGFloat ) tableView: ( UITableView * ) tableView heightForRowAtIndexPath: ( NSIndexPath * ) indexPath {  
     return [ tableView fd_heightForCellWithIdentifier:@"identifer" cacheByIndexPath:indexPath                     configuration:^ ( id cell ) {  


     // 配置 cell 的数据源,和 "cellForRow" 干的事一致,比如:   
     cell.entity = self.feedEntities [ indexPath.row ];   
} ];   
}  

【 UITableView+FDTemplateLayoutCell 】 tableview 自动布局 使用: Debug log

self.tableView.fd_debugLogEnabled = YES ;   
// 使用这个方法可以知道这个类在做什么?   

【 UITableView+FDTemplateLayoutCell 】 tableview 自动布局 使用: Frame layout mode

systemLayoutSizeFittingSize  


sizeThatFits  


// 默认是不需要设置,如果需要就按下面的方法设置   
cell.fd_enforceFrameLayout = YES ;   


- ( CGSize ) sizeThatFits: ( CGSize ) size {  
    return CGSizeMake ( size.width , A+B+C+D+E+.... );   
}