ios评论或者帖子流页面MVC模式开发

2017-02-22  本文已影响110人  小学生课代表

先看一下效果图

Simulator Screen Shot 2017年2月22日 下午2.22.28.png

可能会遇到的问题

一 .图片重叠,重复创建

解决这个有两种方法,一种是不使用cell的缓存池,就保证了每个cell都会创建一个新的cell.

//FYGoodsCommentCell *cell = [tableView cellForRowAtIndexPath:indexPath];

但是这种在cell可能会很多的时候不推荐使用,这时候就有了第二种解决方法.

    if (self.imageArr.count > 0) {
        
        for (UIImageView *commentImageView in self.imageArr) {
            [commentImageView removeFromSuperview];
        }
        [self.imageArr removeAllObjects];
    }

这种方法也不算难想到,主要是整体的这个代码的逻辑性很好(我觉得)_

二.文字的宽高适应

这个当然也不算难,就是有一个方法而已,为了提升点性能就加个预估行高.

/**
 *  计算文字的尺寸
 *
 *  @param text    需要计算的文字
 *  @param font    文字的字体
 *  @param maxSize 给定的文字范围
 *
 *  @return 文字计算后的真实尺寸
 */
- (CGSize)sizeWithText:(NSString *)text textFont:(UIFont *)font MaxSize:(CGSize)maxSize {
    // 字典中装得是表示一个字体
    NSDictionary *attr = @{NSFontAttributeName : font};
    return [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attr context:nil].size;
    
    
}

然后在使用的时候

   CGSize timeSize = [self sizeWithText:model.time textFont:FYSetFont(13) MaxSize:CGSizeMake(kScreenW / 2, 100)];

好了,大概关键的点就这两个,下面就直接给出完整代码吧,代码写的就是个大概,要想用其他的细节就自己加吧,拿走不谢,留个赞就行.

FYCommentDemo

上一篇 下一篇

猜你喜欢

热点阅读