• 关于自定义cell——15-05-13


    通过代码创建cell

    1.新建一个继承自UITableViewCell的类

    2.重写initWithStyle:reuseIdentifier:方法

    Ø添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中)
    Ø进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体固定的图片)

    3.提供2个模型

    Ø数据模型: 存放文字数据图片数据
    Øframe模型: 存放数据模型所有子控件的framecell的高度

    4.cell拥有一个frame模型(不要直接拥有数据模型)

    5.重写frame模型属性的setter方法: 在这个方法中设置子控件的显示数据和frame

    6.frame模型数据的初始化已经采取懒加载的方式(每一个cell对应的frame模型数据只加载一次)

    获得字体的frame大小的对象方法 

     NSDictionary *attrs = @{NSFontAttributeName : font};先获得字体字典

    [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil]  maxSize为该字体能显示的最大size

    不一定显示的view可以通过if进行判断然后hidden改变显示状态

        if (status.picture) { // 有配图
            self.pictureView.hidden = NO;
            self.pictureView.image = [UIImage imageNamed:status.picture];
        } else { // 没有配图
            self.pictureView.hidden = YES;
        }  

    时刻要记得tableview的各方法调用顺序——还有循环利用缓存池时要注意其中的控件是否隐藏——要注意性能,只加载一次的别放在多次调用的方法里      

  • 相关阅读:
    提高自己应用性能的总结架构篇
    iOS 开发调试技巧
    iOS (UIButton封装)仿糯米首页缩放“按钮”效果
    计算机网络中的TCP/UDP协议到底是怎么回事(二)
    计算机网络中的TCP/UDP协议到底是怎么回事(一)
    iOS一分钟学会环形进度条
    View Controller 视图管理总结
    iOS-自定义导航栏后侧滑返回功能失效
    iOS缓存框架-PINCache解读
    YYCache 设计思路
  • 原文地址:https://www.cnblogs.com/tusiji7/p/4501783.html
Copyright © 2020-2023  润新知