zoukankan      html  css  js  c++  java
  • cell的复用

    小细节:

      1. All the cells that are visible in the Table have its one UITableViewCell.
        2. The UITableView only put cells in the reusable queue when they go outside the visual window.
        3. In the first time, all the visible cells in the table are loaded using the Nib file (7,8, 10 times, depending on the height of the cells).
        4. Once you start scrolling the table is when UITableView starts to put UITableViewCells in the reusable queue and can be reused in other positions of the table.

      下面是苹果官方的“UICatalog”中关于cell 使用的代码:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

              UITableViewCell *cell = nil;

              static NSString *kDisplayCell_ID = @"DisplayCellID";

              cell = [self.tableView dequeueReusableCellWithIdentifier:kDisplayCell_ID];

            if (cell == nil)

            {

                 cell = [[[UITableViewCell allocinitWithStyle:UITableViewCellStyleDefaultreuseIdentifier:kDisplayCell_ID] autorelease];

                 cell.selectionStyle = UITableViewCellSelectionStyleNone;

            }

           else

           {

               /** 此时,该CELL被复用,则清除这个CELL上之前添加的控件 */

                // the cell is being recycled, remove old embedded controls

                UIView *viewToRemove = nil;

                 viewToRemove = [cell.contentView viewWithTag:kViewTag];

                 if (viewToRemove)

                        [viewToRemove removeFromSuperview];

            }

     

     

           cell.textLabel.text = [[self.dataSourceArray objectAtIndex: indexPath.sectionvalueForKey:kLabelKey];

     

           UIButton *button = [[self.dataSourceArray objectAtIndex: indexPath.sectionvalueForKey:kViewKey];

           [cell.contentView addSubview:button];

     

           return cell;

  • 相关阅读:
    linux service 例子
    YII2自动初始化脚本
    ubuntu 如何在命令行打开当前目录
    mysql 储存过程
    Mysql 随笔记录
    Lack of free swap space on Zabbix server
    意外发现PHP另一个显示转换类型 binary
    常用的排序代码
    线程的实现方式之内核支持线程和用户级线程
    寻找二叉树中的最低公共祖先结点----LCA(Lowest Common Ancestor )问题(递归)
  • 原文地址:https://www.cnblogs.com/Cristen/p/2784111.html
Copyright © 2011-2022 走看看