【iOS知识学习】_iOS动态改变TableView Cell高度

在做tableView的时候,我们有时候需要根据cell的高度动态来调整,最近在网上看到一段代码不错,跟大家Share一下。

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

类中获取cell的高度:

    CGSize boundSize = CGSizeMake(216, CGFLOAT_MAX);
    cell.textLabel.text = @"12345678900123456789";
    cell.userInteractionEnabled = NO;
    cell.textLabel.numberOfLines = 0;
    CGSize requiredSize = [cell.textLabel.text sizeWithFont:[UIFont systemFontOfSize:13] constrainedToSize:boundSize lineBreakMode:UILineBreakModeWordWrap];
    CGRect rect = cell.frame;
    rect.size.height = requiredSize.height+5;
    cell.frame = rect;

这时候获取到了cell的高度,然后在

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath
*)indexPath {

类中改变cell的高度:

    UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];

    NSLog(@"cell height %f",cell.frame.size.height);

    return cell.frame.size.height;

这样以来cell的高度就根据cell里label的内容自动改变啦。

其主要出发点就是我有一个label,然后我要把这个label展示出来,我根据字体的大小还有行数来获取一个高度,这样cell的高度就有啦。

【iOS知识学习】_iOS动态改变TableView Cell高度,布布扣,bubuko.com

时间: 07-27

【iOS知识学习】_iOS动态改变TableView Cell高度的相关文章

js动态改变iframe的高度

js动态改变iframe的高度的写法 〈iframe id="docDetail" width="100%"  height="200" frameborder="0" src="a.htm"〉 〈/iframe〉 而a.html不是固定大小的,这个时候嵌套的iframe就会出现滚动条. 通过js获取iframe的高度,然后动态的改变,这样就不会出现滚动条. 方式一:在jsp的body里增加onload方法

【iOS知识学习】_iOS Label添加删除线

在做优惠价格的时候需要用到删除线,但是网上的删除线千篇一律,都是大抄小抄,其实苹果的NSAttributedString就可以实现这一点啦. 代码如下: NSString *oldPrice = @"¥ 12345"; NSUInteger length = [oldPrice length]; NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:oldPrice];

iOS 根据键盘的高度动态改变UIView的高度

在我们使用键盘时常常出现键盘挡着视图这种情况,下面我给大家介绍一种方法可以根据键盘的高度来动态改变视图的度使其可以始终在键盘的上边 在这里视图我用TextView UIKeyboardWillShowNotification//键盘弹出 UIKeyboardWillHideNotification//键盘缩回 //用通知监听键盘的弹出 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboar

iOS开发——Autolayout下动态调整单元格高度

情景描述: 有时候我们希望更新某一个单元格的数据,通常的做法是使用reloadData方法更新整个单元格.但是对一些情况是不适用的或者说实现起来比较麻烦.比如说这种简单的"点开"一个单元格 在没点开时,英雄的简介被替换为"点击查看详情",下载按钮被设为隐藏. 这样的话如果在点开时reload整个表格的数据,表格因为重载数据还是会恢复成没有点开的状态.   解决步骤: 使用Autolayout的优点是可以让内容决定单元格的高度.那么有什么办法能在内容改变后动态地调整单

swiper里面的,tab切换,不同的slide高度不一样,外层高度何如随之改变,如果里面的每一屏的高度不一样,那么就会一直以高度最大的一个座位最外层的高度,总成了页面内容少的那一页有很大空白,改如何动态改变外层的高度呢

解决方案:1.autoHeight: true;缺点:有明显的跳动效果2.先给容器设固定高度,每次滑动多少时,改变当前tab页的容器高度,我在实现是遇到一点小问题,代码忘记保存了. 3.滑动切换第二个页面的顶部,需要用scrollTop实现, onSlideChangeStart: function(swiper){ //$( '.swiper-container' ).scrollTop(0);这样是直接到顶部,往往会出现闪屏, $( '.swiper-container' ).animate

转--动态改变UITableView中的Cell高度

往往在开发iPhone的应用过程中用得最多的应该算是UITableVIew了,凭着IOS给UITableView赋予了这种灵活的框架结构,让它不管在显示列表方面还是在排版方面都有着一定的优势.虽然UITableView功能强大,但是对于一些复杂的应用需求在开发的过程中会出现一些问题,如动态改变UITableView显示的Cell高度就是其中之一 其实想要改变UITableView的Cell高度并不难,UITableView带有一个rowHeight属性,使用他就可以改变高度了.但是这样的改变是把

使用Autolayout实现UITableView的Cell动态布局和高度动态改变

本文翻译自:stackoverflow 有人在stackoverflow上问了一个问题: 如何在UITableViewCell中使用Autolayout来实现Cell的内容和子视图自动计算行高,并且能够保持平滑滚动的? 这个问题得到了300+的支持和450+的收藏,答案得到了730+的支持,很详细的说明了如何在iOS7和iOS8上实现UITableView的动态行高功能,并且这个答案对实现UICollectionView的动态行高也具有参考意义.所以在这里将这个答案翻译了一下,希望对大家有所帮助

动态切换tableView中的cell的种类

为什么要动态切换tableView中cell的种类呢?如果项目经理不出这种需求,你也就见不到这篇文章了:) 效果: 源码: 首先,你要准备3种cell,直接继承系统的就行了. // // RootViewController.m // ChangeCell // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "RootViewController.h" #import "YellowCell.h&quo

iOS开发学习-如何优化tableview的使用

1.复用单元格 2.单元格中的视图尽量都使用不透明的,单元格中尽量少使用动画 3.图片加载使用异步加载 4.滑动时不加载图片,停止滑动时开始加载 5.单元格中的内容可以在自定义cell类中的drawRect方法内自己绘制 6.如非必要,减少reloadData全部cell,只reloadRowAtIndexPaths 7.如果cell是动态行高,计算出高度后缓存 8.cell高度固定的话直接使用cell.rowHeight设置高度