`
zl4393753
  • 浏览: 340227 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

UITableViewCell 重用 备忘

 
阅读更多
uitableviewcell重用备忘

目前遇到的重用分两种情况
1. tableviewcell布局一样,内容不一样
这种情况一般自定义一个uitableviewcell,加载所有控件,比如uiimageview,uilabel等等,
imageview和label的赋值放在if (cell == nil)外面操作即可,这是最基本重用

2. tableviewcell布局不一样,有2种或者多种布局
这种情况需要自定义多种cell,根据不同情况获取对应布局的cell,代码如下:

static NSString *RootCellIdentifier = @"DirectoryViewRootCell";
    static NSString *LeafCellIdentifier = @"DirectoryViewLeafCell";

    NSMutableDictionary *dic = [arrayDirectory objectAtIndex:indexPath.row];
    int level = [[dic valueForKey:@"level"] intValue];
    
    DoubleSeparatorCell *cell;
    
    if (level > 1) {
        cell = [tableView dequeueReusableCellWithIdentifier:LeafCellIdentifier];
    } else {
        cell = [tableView dequeueReusableCellWithIdentifier:RootCellIdentifier];
    }
    
    if (cell == nil) {
        if (level > 1) {
            cell = [[[DoubleSeparatorCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:LeafCellIdentifier] autorelease];
            //blahblahblah....进行各自布局
            [cell addSubview: A];
} else {
            cell = [[[DoubleSeparatorCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:RootCellIdentifier] autorelease];
//blahblahblah....进行各自布局
             [cell addSubview: B];
}

if (level > 1) {
//根据tag取出控件,进行赋值
//取出A赋值
} else {
//根据tag取出控件,进行赋值
//取出B赋值
}
分享到:
评论

相关推荐

    UITableViewCell的reuse(修正)

    要实现UITableViewCell的重用,我们需要遵循以下步骤: 1. **注册单元格类或 nib**:在初始化UITableView时,应先注册要使用的单元格类或XIB文件。这可以通过`registerClass: forCellReuseIdentifier:`或`...

    iOS、UITableViewCell、自定义

    在iOS开发中,UITableView是展示数据列表的一种常见控件,而UITableViewCell则是表格中的每一行单元格。为了使应用界面更具个性化和用户体验更佳,开发者往往需要对UITableViewCell进行自定义。本话题将深入探讨如何...

    IOS源码应用Demo-UITableViewCell 视图扩展.zip

    5. 重用机制:在UITableView中,为了提高性能,我们需要利用cell的重用机制。确保在`prepareForReuse()`方法中清除或重置cell的状态。 6. 动画与过渡:可能包含了一些自定义动画,例如展开/收起子视图,滑动切换...

    自定义UITableViewCell。实现各种样式的表格输入界面ios源代码设计资料

    `UITableViewCell`是iOS中的一个类,它为`UITableView`提供可重用的单元格,用于显示和交互数据。默认情况下,`UITableView`提供了几种预设的样式,如基本样式(Basic)和值1样式(Value1)等。然而,这些样式可能...

    swift-利用原始UITableViewcell强大的自适应性能改造UITableViewcell

    5. 重用机制:UITableView的Cell重用机制是提高性能的关键。通过指定cell的标识符并在`dequeueReusableCell(withIdentifier:for:)`方法中获取已复用的cell,可以避免因频繁创建新cell而导致的性能下降。 6. 数据...

    swift-UITableViewCell动画效果

    通过重写`awakeFromNib`和`prepareForReuse`方法,我们可以设置默认的样式和重用时的状态。 接下来,我们关注动画效果。Swift中可以使用Core Animation框架来创建基本的动画,如平移、旋转、缩放等。例如,可以在`...

    优化UITableViewCell滚动性能demo

    1. **重用机制优化**:UITableView的cell重用机制是关键。确保在`dequeueReusableCell(withIdentifier:)`方法中正确配置cell,而不是在`cellForRowAt:`中创建新的cell。避免在`cellForRowAt:`中执行耗时操作,比如...

    动态计算UITableViewCell高度详解

    在iOS开发中,UITableView是展示数据列表的一种常见控件,而动态计算UITableViewCell的高度是一项关键技能。这涉及到如何根据内容自适应地调整单元格的高度,从而提高用户体验。在本篇文章中,我们将深入探讨如何...

    UITableViewCell带图片点击

    在iOS开发中,`UITableViewCell` 是用于展示表视图(UITableView)中的数据行。当我们需要在单元格中添加图片并且让这些图片具有交互性时,比如点击后切换图片,这通常涉及到自定义`UITableViewCell`以及处理点击...

    代码实现 UITableView与UITableViewCell

    2. **UITableViewCell的创建与重用**: 单元格可以通过重用标识符在屏幕外预先创建,以提高性能。通过`dequeueReusableCell(withIdentifier:)`方法获取或创建单元格,避免每次都新建导致性能下降。 3. **数据源方法*...

    UITableViewCell根据内容自动高度

    在iOS开发中,UITableView是展示数据列表的一种常见控件,其内部的单元格(UITableViewCell)通常需要根据内容动态调整高度。这个过程涉及到自动布局(Auto Layout)和UITableView的自适应高度计算。本知识点将深入...

    UITableViewCell的四种不同的定制单元格方式

    4. **重用现有的系统cell类型** 除了从头创建,还可以基于现有的系统cell类型进行定制,例如使用`SubtitleCell`、`Value1Cell`等。这些预定义的cell已经包含了基本的UI元素,只需根据需求调整其样式和内容。这可以...

    UITableViewCell的reuse

    本篇文章将深入探讨`UITableViewCell`的重用原理,并结合iOS 6.0引入的新重用方法进行详细讲解。 首先,理解`UITableViewCell`重用的基本概念至关重要。在UITableView滚动时,屏幕外的cell会被释放以节省内存,当...

    IOS UITABLEVIEWCELL不刷新测试代码

    总的来说,解决iOS中UITableViewCell不刷新的问题需要对数据源、表格视图的代理方法、刷新机制以及单元格重用有深入理解。通过分析和调试,我们可以找出问题所在并进行修正,确保用户界面始终能准确地反映出数据的...

    UITableViewCell自适应高度

    在设计用户界面时,为了提供良好的用户体验,我们希望`UITableViewCell`的高度能够根据内容自动调整,这就是所谓的`UITableViewCell`自适应高度。 `UITableView`的高度自适应功能主要是通过重写`...

    ios-UITableViewCell折叠效果.zip

    本项目“ios-UITableViewCell折叠效果.zip”主要关注如何实现UITableView中UITableViewCell的动态高度调整以及折叠拉伸效果,这是一项增强用户体验的重要技巧。下面我们将深入探讨这个主题。 首先,我们来理解`...

    IOS源码——自定义UITableViewCell。实现各种样式的表格输入界面.7z

    2. UITableViewCell的重用机制:UITableView的一个重要特性是其单元格的重用,以优化内存使用和滚动性能。开发者需要在`- tableView:cellForRowAtIndexPath:`中正确配置每个单元格,同时确保更新现有单元格而不是...

    iOS8 tableview uitableviewcell内容自适应

    5. **注意Cell重用**:在`tableView(_:cellForRowAt:)`代理方法中,确保对重用的Cell清除旧的约束或者内容,避免影响新的Cell计算高度。 通过以上步骤,你就可以在iOS8及更高版本的项目中享受到自动调整高度的...

    iOS通过代码创建高度不一致的UITableViewCell

    当数据内容不固定,每个单元格(UITableViewCell)需要根据其内容动态调整高度时,就需要实现自定义的cell高度计算。本文将深入探讨如何通过代码创建高度不一致的UITableViewCell,并提供一种设计模式。 首先,了解...

    Xib设计UITableViewCell然后动态加载

    Xib设计UITableViewCell然后动态加载例子,对应博客贴子地址: http://blog.csdn.net/duanyipeng/article/details/7259108

Global site tag (gtag.js) - Google Analytics