zoukankan      html  css  js  c++  java
  • 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模型数据只加载一次)

  • 相关阅读:
    公用表表达式(CTE)的递归调用
    c# 如何让tooltip显示文字换行
    实战 SQL Server 2008 数据库误删除数据的恢复
    SQL SERVER数据库中 是否可以对视图进行修改删除
    asp.net中实现文件批量上传
    sql server 2008学习2 文件和文件组
    sql server 2008学习3 表组织和索引组织
    sql server 2008学习4 设计索引的建议
    sql server 2008学习10 存储过程
    .net 调用 sql server 自定义函数,并输出返回值
  • 原文地址:https://www.cnblogs.com/lifengfneg/p/4773843.html
Copyright © 2011-2022 走看看