IOS XIB Cell自适应高度实现

1.代码实现Cell高度自适应的方法

通过代码来实现,需要计算每个控件的高度,之后获取一个cell的

总高度,比较常见的是通过lable的文本计算需要的高度。

CGSize labelsize = [@"asdassdas" sizeWithFont:font constrainedToSize:CGSizeMake(320,2000) lineBreakMode:NSLineBreakModeWordWrap];

这样就可以计算展示需要的高度,cell里面展示的时候可以在代理的方法内放回高度就行了。今天要实现的

是通过auto layout实现获取展示需要的高度,实现的具体是使用了一个第三方库(https://github.com/forkingdog/UITableView-FDTemplateLayoutCell),简化了实现,使用这个

库可以让你专注的设置约束,下载后把UITableView+FDTemplateLayoutCell.h,UITableView+FDTemplateLayoutCell.m拖入项目就好,也可以通过pod 安装。

2.实现效果

        

3.实现代码

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return [arrData count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    MyTableViewCell *cell = [self.tabview dequeueReusableCellWithIdentifier:@"CTF"];
    cell.txt.text = [arrData objectAtIndex:indexPath.row];
    cell.img.image=[UIImage imageNamed:@"a.jpg"];
    return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return [tableView fd_heightForCellWithIdentifier:@"CTF" configuration:^(MyTableViewCell *cell) {
        cell.txt.text = [arrData objectAtIndex:indexPath.row];
        cell.img.image=[UIImage imageNamed:@"a.jpg"];
    }];
}

上传比较麻烦, 需要Demo的可以留邮箱,我会及时发。

时间: 2024-10-12 08:12:31

IOS XIB Cell自适应高度实现的相关文章

TableView cell自适应高度-----xib

1.通过xib创建一个cell,将label进行上左下右,进行适配, self.automaticallyAdjustsScrollViewInsets = NO; self.edgesForExtendedLayout = UIRectEdgeNone;//将原点移动到navigationBar下面去了 tableView.estimatedRowHeight = 37.0;//估计cell的高度 tableView.rowHeight = UITableViewAutomaticDimens

IOS 控件 - UITableView 中的cell 自适应高度

当 UITableView 中有一个 label 的内容比较长的时候,就需要 cell 自适应高度来多行展示label: 首先设置 label 的 line 为0: 代码如下: // 为每一个 cell 预设置一个高度,可以提高效率 - (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath { return 44; } // 这里每一个 cell

第?一讲:UITableView 高级 自定义cell , cell自适应高度

一.自定义cell(包括cell的自定义,以及直接赋值的方法) 自定义cell就是创建一个UITableViewCell的子类. 把cell上的控件创建都封装在子类中,简化UIViewController中的代码 示例代码分析:(这个例子包括cell的自定义,以及直接赋值的方法) 1.需要建立tabelViewCell类, 在其中进行cell上控件的添加 2.在tabelViewCell.m中进行初始化,和layoutSubviews的frame布局的操作 tabelViewCell.h定义属性

iOS textFiledView,label自适应高度

CGSize constraintSize; constraintSize.width = 320; constraintSize.height = MAXFLOAT; CGSize sizeFrame =[infoTextView.text sizeWithFont:infoTextView.font = [UIFont systemFontOfSize:12.0] constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWord

自定义 cell 自适应高度

#import "CommodityCell.h" #import "UIImageView+WebCache.h" @implementation CommodityCell - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:re

iOS 自定义cell的高度

在iOS开发过程中,最重要的几个UIView分别为UITableView.UIScrollView.UICollection.今天由小白哥带大家认识一下UItableVIew 首先,建立一个Model类: #import <Foundation/Foundation.h> @interface News : NSObject @property (nonatomic,retain) NSString *title; @property (nonatomic,retain) NSString *

自定义cell 自适应高度

#pragma mark - 动态计算cell高度 //计算 返回 文本高度 + (CGFloat)calsLabelHeightWithContact:(Contacts *)contact { //size:   文字最大范围 //options:计算高度 参数 //  NSStringDrawingUsesLineFragmentOrigin:指定 原点 绘制字符串片段起源和基线. //attributes:文字某个属性 通常是大小 //ios7 获取文本高 方法 CGRect rect

UITabelView的Cell自适应高度

http://www.jianshu.com/p/83e72f90d7c1 思路:因为cell高度不固定,需要动态赋值,所以用了最常见的cell内有一个model,model内有cellHeight的方式,在cell的model的set方法中给model的cellHeght赋值. cell.m  (重写model属性的set方法) -(void)setBaikeModel:(Model *)baikeModel{ self.titleLabel.text = baikeModel.title;

IOS之xib计算cell的高度

1.之前是纯代码计算cell的高度,现在就是在cell里面成创建好了控件的位置,然后需要计算cell的内容的高度,图片的类型是一样的计算方法.先看看cell的布局情况:如图所示: 计算的高度的方式:头像的高度+内容的高度 +(有如图片就加上图片的高度,没有就不加了)= cell高度 这里就是要计算content的高度了,其他的都写死了直接加上就行了,关键就是计算cell如图计算: Demo下载:http://pan.baidu.com/s/1hspqwp2