zoukankan      html  css  js  c++  java
  • (二十九)动态单元格

    动态单元格可以绑定一个Cell控制器,优点是可以任意定义Cell的样式,然后在控制器里设置Cell的内容,例如布置为下图的样式:


    从storyboard绑定标识的方法:设置Identifier后,即可通过出队方法获取这个Cell。


    获取这个Cell的方法:这样是自动进行缓存池优化的,缓存池中没有,直接从storyboard中的模板创建。

    AppCell *cell = [tableView dequeueReusableCellWithIdentifier:@"app"];

    这是模拟的一个应用管理App,在表格的每一行显示一个App的信息和下载按钮,为了获取Cell信息,应该建立一个模型,Cell设置数据的时机是Cell出队之后,返回之前,在这里对Cell传递模型数据,因此只要重写Cell的set方法传入模型即可。

    因为Cell有控制器,因此可以通过拖线的方式绑定控件,然后进行相应的设置(注意控件的名称不要和Cell自带的控件重名,例如imageView本来就有,注意避免重名)。

    一个技巧:如果要实现不同的行Cell的多样化,可以让indexPath不同时出队的Cell的ID不同,一定要选择动态单元格。

    为了实现主控制器对按钮的监听,需要主控制器监听Cell的按钮监听,注意代理方法要传入被代理的对象,这是规范。


    循环利用带来的困扰:下载键点击后显示的为已下载,但是上下拖动tableView时,循环利用已有的Cell时因为信息覆盖的不够可能会还保持已下载。

    因此,使用循环利用一定要覆盖全部状态

  • 相关阅读:
    软件开发规范
    Fail2ban + firewalld 防护doss攻击
    SourceTree&Git部分名词解释
    训子
    一个网络下,手机如何访问本地网址
    tempalte.js的一般用法
    template.js的介绍
    获取URL中的参数
    js判断苹果和安卓端或者wp端
    HTML5与WebGL编程
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154224.html
Copyright © 2011-2022 走看看