首页 > 代码库 > BSBuDeJie_05

BSBuDeJie_05

一 

  计算text的高度

/******************** 额外的辅助属性 **********************/
/* cell的高度 */
@property (nonatomic, assign, readonly) CGFloat cellHeight;
- (CGFloat)cellHeight
{
    if (!_cellHeight) {
        
        //文字Y值
        CGSize maxSize = CGSizeMake([UIScreen mainScreen].bounds.size.width - 40, MAXFLOAT);
        //计算文字的高度
        CGFloat textH =[self.text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:14]} context:nil].size.height;
        
        _cellHeight = BSTopicCellMargin * 2 + BSTopicCellTextY + BSTopicCellBottomBarH + textH +self.height;
        
    }
    return _cellHeight;

}

 

 

  只计算一次cell的高度

    将cell的高度作为模型本身的数据,只需要在模型中设置一次即可

  propery编译器会自动生成getter和setter以及下划线的成员变量,但是若用户重构getter和setter时,编译器默认不在生成下划线成员变量,需要手动添加

@interface BSTopic()
{
    CGFloat _cellHeight;
}
@end

 

  

  当模型中的属性与服务器返回的key值不一致时

+ (NSDictionary *)replaceKeyFromProperyName
{
    return @{
             @"small_image" : @"image0",
             @"middle_image" : @"image2",
             @"large_image" : @"image1",
             };
}

 

  

  3

BSBuDeJie_05