• iOS开发之自定义UITableView的cell


    系统默认的UITableViewCell的每行都有横线(分隔符),就算没有数据也是如此,有时候我们想只在有数据的地方有下划线,可以去除下划线,然后在awarkFromNid方法中使用addsubview的方法加入下划线到UITableViewCell的contentView中。但有些时候我们还要自定义其他类型的Cell。

    自定义cell有两种方法,一种是通过xid自定义控件,一种是通过代码自定义cell。

    通过xid自定义cell的步骤:

    1. 新建一个xib文件描述一个view的内部结构(假设叫做MJTgCell.xib)
    2. 新建一个自定义的类

    (自定义类需要继承自系统自带的view, 继承自哪个类,  取决于xib根对象的Class)

    1. 新建类的类名最好跟xib的文件名保持一致(比如类名就叫做MJTgCell)
    2. 将xib中的控件和自定义类的.m文件进行连线
    3. 提供一个类方法返回一个创建好的自定义view(屏蔽从xib加载的过程)
    4. 提供一个模型属性让外界传递模型数据
    5. 重写模型属性的setter方法,在这里将模型数据展示到对应的子控件上面

    通过代码自定义cell步骤:

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

    2.重写- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier

    :(NSString *)reuseIdentifier方法:

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

    3.提供2个模型

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

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

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

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

  • 相关阅读:
    查询session内容
    7个月工作总结
    clob字段的值插入和查询N种方法【包括java调用存储过程传入clob参数】
    javascript实现jsp页面的打印预览
    Ext:添加进度条
    js实现非模态窗口增加数据后刷新父窗口数据
    websphere:rs.getDate()无法使用的解决方法
    POI实现excel各种验证和导入的思路总结
    Tomcat迁移到WebsphereURL获取中文参数乱码问题
    JS函数参数
  • 原文地址:https://www.cnblogs.com/lifengfneg/p/4773843.html
Copyright © 2020-2023  润新知