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;

  • 相关阅读:
    【PL/SQL】学习笔记 (9)例外之 no_data_found
    【PL/SQL】学习笔记 (8)光标之带参数的光标
    【PL/SQL】学习笔记 (7)光标的属性,一个会话中打开光标数的限制
    【PL/SQL】学习笔记 (6)光标使用的具体示例--emp表涨工资
    Gps定位和wifi定位和基站定位的比较
    多态
    类加载,类初始化及对象实例化
    http和https工具类 (要注意httpclient版本号和log4j的版本号)
    js贪吃蛇
    局部变量,成员变量,静态变量
  • 原文地址:https://www.cnblogs.com/Cristen/p/2784111.html
Copyright © 2011-2022 走看看