zoukankan      html  css  js  c++  java
  • 关于自定义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的各方法调用顺序——还有循环利用缓存池时要注意其中的控件是否隐藏——要注意性能,只加载一次的别放在多次调用的方法里      

  • 相关阅读:
    作业6
    作业8
    作业7
    作业5
    作业4
    作业3
    作业2
    作业1
    浏览器跨域的细节
    解析node-cors模块
  • 原文地址:https://www.cnblogs.com/tusiji7/p/4501783.html
Copyright © 2011-2022 走看看