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;

  • 相关阅读:
    使用java的wsimport.exe生成wsdl的客户端代码【转】
    css 动画【转】
    如何让javascript base64加密后不含+/=
    UEditor js动态创建和textarea中渲染【原】
    在js或jquery中动态添加js脚本【转】
    利用spring的MultipartFile实现文件上传【原】
    hibernate状态转换关系图【原】
    ssh框架里拦截器的权限验证基本思路【转】
    JAVA中三种URL连接方法
    程序出错问题总结
  • 原文地址:https://www.cnblogs.com/Cristen/p/2784111.html
Copyright © 2011-2022 走看看