`

iphone开发--UITableView中的cell高度不一致解决方案

 
阅读更多

事先声明:本例没有做任何性能上的考虑, 而且写的很生硬,只是演示思路。如果是有大批量的cell,比如10000个cell,需要使用缓存记录之前的cell的高度以优化。

 

主要代码如下

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    YYSHDomain *domain = [self.array objectAtIndex:indexPath.row];
    return [self cellHeight:domain];
}

// 获取cell的高度
- (CGFloat) cellHeight:(YYSHDomain *)domain {
    UILabel *_titleLable = [[UILabel alloc] initWithFrame:CGRectMake(5, 30, 320 - 10, 0)];
    [_titleLable setNumberOfLines:0];
    [_titleLable setText:domain.title];
    NSLog(@"%@", NSStringFromCGRect(_titleLable.frame));
    [_titleLable sizeToFit];
    CGRect frame = _titleLable.frame;
    [_titleLable release];
    NSLog(@"%@", NSStringFromCGRect(frame));
    if (domain.imgName) {
        return frame.origin.y + frame.size.height + 5 + 60 + 5;
    } else {
        return frame.origin.y + frame.size.height + 5;
    }
}
 

代码见附件

1
0
分享到:
评论

相关推荐

    动态改变UITableviewCell高度(iPhone源代码)

    在iOS开发中,UITableView是一种非常重要的控件,用于展示列表数据。`动态改变UITableViewCell高度`是常见的需求,尤其是在处理含有不固定高度内容的cell时,如包含图片、文本等。本示例源代码提供了解决这个问题的...

    使用CoreData开发iPhone手机应用软件的实例教程.pdf

    2. **自定义Cell**:在UITableView中,你可以自定义Cell的布局和内容,以适应特定的数据展示需求。 3. **多线程处理**:在iOS中,多线程可以让你的应用在后台执行任务,而不影响用户界面的响应性。 4. **图像处理**...

    swift-滚动公告广告支持灵活自定义cell。模仿淘宝头条等等这类滚动广告RollNoticeAdvertising

    综上所述,"swift-滚动公告广告支持灵活自定义cell"项目提供了一个高度可定制的滚动广告解决方案,帮助开发者轻松集成类似淘宝头条的广告组件,提升应用的互动性和商业价值。开发者可以根据实际需求,利用这个项目...

    (0157)-iOS/iPhone/iPAD/iPod源代码-列表(Table)-Lazy Table Images

    "(0157)-iOS/iPhone/iPAD/iPod源代码-列表(Table)-Lazy Table Images"是一个示例项目,专门针对这种场景提供解决方案,即延迟加载或懒加载(Lazy Loading)图片。懒加载是一种优化技术,它避免一次性加载...

    1123.ios系统毕业设计.doc

    综上所述,爱限免应用的设计与开发涵盖了iOS应用开发的多个方面,包括但不限于Xcode集成开发环境的使用、UIKit和Foundation框架的掌握、UITableView的高效利用、网络请求的处理、数据库操作以及Block在数据交互中的...

    iPhone DataGrid 数据列表组件,支持行列锁定

    "iPhone DataGrid 数据列表组件,支持行列锁定" 是一个专为iPhone设计的高效数据展示解决方案,它优化了用户界面,使得用户可以更方便地浏览和操作表格数据。 首先,我们要理解DataGrid组件的基本概念。DataGrid...

    ios-瀑布流自定义.zip

    瀑布流布局在移动应用开发中是一种常见的展示方式,尤其在电商、社交等应用中,它能够以美观且高效的方式展示...对于那些希望在应用中集成瀑布流布局但又不想从零开始构建的开发者来说,这是一个值得尝试的解决方案。

    IOS应用源码之自制 iPhone DataGrid 数据列表组件,支持行列锁定Grid.zip

    本压缩包“IOS应用源码之自制 iPhone DataGrid 数据列表组件,支持行列锁定Grid.zip”提供了一个自定义的数据网格解决方案,特别适合于需要展示表格形式信息的应用场景。下面我们将深入探讨这个源码中的关键知识点。...

    tableview多行选择

    在描述中提到,“iphone上面实现多行选择的效果,已测试无误”,这意味着我们有一个已经验证过的解决方案,可以确保在实际设备上正常工作。下面将详细介绍如何实现这个功能。 首先,我们需要启用`UITableView`的...

    IOS应用源码——改进的simpleFTPSampleiphoneftp.orig.zip

    《深入解析iOS应用源码:改进的SimpleFTPSample》 在iOS开发中,FTP(File Transfer Protocol)是一种常见的文件传输协议,广泛...同时,这个项目也可以作为实际项目中的参考,为实际开发中的FTP功能提供解决方案。

    ios 自定义表格控件 gridview

    在这种情况下,"ios 自定义表格控件 gridview" 提供了一种解决方案,特别是对于那些希望实现类似网格布局,同时支持首列固定和左右滑动效果的应用。这种自定义表格控件通常被称为GridView,它在iPhone平台上特别有用...

    LhkhMenuView 侧滑菜单抽屉

    在iOS应用开发中,侧滑菜单抽屉是一种常见的交互设计,它允许用户通过从屏幕边缘向内滑动来展示或隐藏附加的...对于那些希望在应用中加入类似QQ侧滑菜单效果的开发者来说,LhkhMenuView无疑是一个值得考虑的解决方案。

    IOS应用源码之多选列表组件KNMultiItemSelector .rar

    `KNMultiItemSelector` 是一个开源的解决方案,它提供了丰富的自定义功能,使得开发者可以轻松地在iOS应用中集成这种用户界面。这个组件主要由Swift编写,遵循Apple的Swift编程规范,因此能够很好地融入到Xcode项目...

    iOS 聊天对话效果 AcaniChat

    总之,`AcaniChat`为iOS开发者提供了一个完整的、实现良好的聊天对话界面解决方案,涵盖了UI设计、数据模型、界面刷新、动画效果、数据持久化和网络通信等多个方面。开发者可以通过研究和学习这个项目,快速掌握创建...

    卡券管理的IOS版APP

    对于数据存储,可以选择SQLite或Core Data,两者都是iOS平台上的本地数据库解决方案,用于保存用户的卡券信息。如果需要网络功能,如同步云端数据,可以使用URLSession进行网络请求,结合JSON解析库如SwiftyJSON来...

    一款简单易用的瀑布流

    瀑布流布局,也被称为Masonry布局,是一种常用于图片展示或商品列表的布局方式,它的特点是每一行(列)中的元素高度不固定,像瀑布一样自上而下流淌,每当下方元素不够填满一行时,新元素会自然地填补到上一行的...

Global site tag (gtag.js) - Google Analytics