zoukankan      html  css  js  c++  java
  • iOS开发UI篇—UITableview控件使用小结

    一、UITableview的使用步骤

    UITableview的使用就只有简单的三个步骤:

    1.告诉一共有多少组数据

    方法:- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;

    2.告诉每组一共有多少行

    方法:- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; 

    3.设置每组每行(cell)

    方法:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 

    二、使用说明

    1.多少组数据和显示多少行通常是和数据息息相关的,在开发中数据通常存储在plist文件中,需要以一定的方式加载到项目中(模型)。

    2.设置每组每行,说简单点就是设置tableview中得每个cell.

    设置cell的步骤有三步:

    (1)创建一个cell(需要考虑性能,对cell进行循环利用,注意缓存处理方式)

    (2)为cell设置数据

    (3)返回一个cell

    设置cell有三种方式:

    (1)使用系统提供的tableviewcell进行设置

    (2)通过xib自定义tableviewcell,适用于长相一致的,如团购展示界面

    (3)通过纯代码自定义tableviewcell,适用于有差距的,如表现为高度不一样,有的cell拥有某个属性,而有的cell中没有,如微博展示界面

    三、自定义tableviewcell

    1.通过xib文件自定义一个view的步骤

    (1)新建一个xib文件,描述一个view的内部

    (2)新建一个自定义的类,自定义的类需要继承自系统自带的view,继承自哪个类,取决于xib跟对象的class

    (3)新建类的类型最好跟xib的文件名保持一致

    (4)将xib的控件和自定义类的.m文件进行连线

    (5)提供一个类的方法返回一个创建好的自定iview(屏蔽从xib加载的过程)

    (6)提供一个模型属性让外界传递模型数据

    (7)重写模型属性的setter方法,在这里讲模型数据展示到对应的子控件上面

    2.通过代码方式自定义cell

    (1)新建⼀一个继承自UITableViewCell的类

    (2)重写initWithStyle:reuseIdentifier:方法

    添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加 到contentView中)

    对子控件进行一次性的属性设置(有些属性只需要设置一次, 比如字体固定的图片)

    (3)提供2个模型 

    数据模型: 存放文字数据图片数据

    frame模型: 存放数据模型所有子控件的framecell的高度

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

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

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

    四、使用代理的步骤

    (1)先搞清楚谁是谁的代理(delegate)

    (2)定义代理协议,协议名称的命名规范:控件类名 + Delegate

    (3)定义代理方法

    代理方法一般都定义为@optional

    代理方法名都以控件名开头

    代理方法至少有1个参数,将控件本身传递出去

    (4)设置代理(delegate)对象 (⽐比如myView.delegate = xxxx;)

    代理对象遵守协议

    代理对象实现协议里面该实现的方法

    (5)在恰当的时刻调⽤代理对象(delegate)的代理方法,通知代理发生了什么事情

     (在调⽤之前判断代理是否实现了该代理⽅方法) 

  • 相关阅读:
    Windows 8实例教程系列 开篇
    qt 开发发布于 windeploy.exe
    qt qoci 测试验证
    vmware vmx 版本不兼容
    qt oracle
    vc qt dll
    QOCIDriver unable to create environment
    qoci 编译完 放置位置 具体根据情况
    calling 'lastError' with incomplete return type 'QSqlError' qsqlquer
    Hbase 操作工具类
  • 原文地址:https://www.cnblogs.com/iosblogx/p/4474398.html
Copyright © 2011-2022 走看看