uitableviewcell 自适应大小 参考

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    // 列宽
    CGFloat contentWidth = self.tableView.frame.size.width;
    // 用何种字体
    UIFont *font = [UIFont systemFontOfSize:13];
    
    // 內容
    NSString *content = [data objectAtIndex:indexPath.row];
    // 计算显示完內容需要的最小尺寸
    CGSize size = [content sizeWithFont:font constrainedToSize:CGSizeMake(contentWidth, 1000) lineBreakMode:UILineBreakModeWordWrap];
    
    // 返回需要的高度
    return size.height; 
}

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    static NSString *CellIdentifier = @"Cell";
    // 列宽
    CGFloat contentWidth = self.tableView.frame.size.width;
    // 用何种字体进行显示
    UIFont *font = [UIFont systemFontOfSize:13];
    
    //內容
    NSString *content = [data objectAtIndex:indexPath.row];
    // 计算显示完內容需要的最小尺寸
    CGSize size = [content sizeWithFont:font constrainedToSize:CGSizeMake(contentWidth, 1000) lineBreakMode:UILineBreakModeWordWrap];
    
    // 创建cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
    
    CGRect rect = [cell.textLabel textRectForBounds:cell.textLabel.frame limitedToNumberOfLines:0];
    // 設置顯示榘形大小
    rect.size = size;
    // 重置列文本区域
    cell.textLabel.frame = rect;
    
    cell.textLabel.text = content;
    
    // 设置自动换行(重要)
    cell.textLabel.numberOfLines = 0;
    // 显示的字体(一定要和之前计算时使用的一至)
    cell.textLabel.font = font;

return cell;
}

时间: 2024-10-16 21:50:08

uitableviewcell 自适应大小 参考的相关文章

UITableViewCell 自适应高度 ios8特性

这篇文章介绍了在一个动态数据的 table view 中,cell 根据 text view 内容的输入实时改变 cell 和 table view 的高度.自动计算 cell 高度的功能使用 iOS 8 才支持的自适应 cell,如果你还不知道 iOS 8 自适应 cell,可以参看这篇文章:iOS 8 自适应 Cell 先上图,我们最终要实现的效果是这样的: 图 1:实时更新 cell 高度 实现上面效果的基本原理是:  在 cell 中设置好 text view 的 autolayout,

【转】UITableViewCell自适应高度 UILabel自适应高度和自动换行

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {    // 列寬    CGFloat contentWidth = self.tableView.frame.size.width;    // 用何種字體進行顯示    UIFont *font = [UIFont systemFontOfSize:13];       // 該行要顯示的內容    

TextView自适应大小

对于设置TextView的字体默认大小对于UI界面的好看程度是很重要的,小屏幕设置的文字过大或者大屏幕设置的文字过小都造成UI的不美观 现在就让我们学习自适应大小的TextView控件,即当文字长度变化时,文字的大小会相应的变化,保证显示在一行当中 实现依靠于第三方类库 第三方类来源: http://www.apkbus.com/android-240301-1-1.html 下载地址: http://yunpan.cn/cFs9qKMyFNyfy (提取码:b039) 使用时先导入类库 以ec

popupWindow自适应大小

// popupWindow自适应大小 popupWindow = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); // 设置PopupWindow的大小(宽度和高度) // 高度和宽度为屏幕的比例 popupWindow.setWidth(display.getWidth() * 9 / 10); popupWindow.setHeight(display.getHeight() * 9

iOS HTML 字符串中的图片 自适应大小

本文原文地址:http://www.cnblogs.com/qianLL/p/6095988.html 有时候 我们接收数据的时候  后台给的数据室一串HTML 的字符串  但是 我们要显示出来  这是 我们会发现文字可以自适应大小,但是有些图片并不能自适应大小 这是 我们就需要去修改img的CSS样式 但是我们添加一个style 对所有的img标签 进行控制  是可以  但是 如果出现这种<img style ="width = ;height= px" 这种的话 我们就没办法

网页宽高自适应大小

如今,显示器的分辨率越来越多,终端也变得多样化,web开发页面的自适应问题越来越多,如果不做处理,一旦显示器的分辨率发生变化,展示的内容可能出现许多意料之外的排版问题.关于不同终端的展示问题可以通过响应式布局来实现,而不需要响应式布局时我们需要自己来避免上述问题. 宽度自适应: 1.设置最外层容器(如 DIV)的 width 为 100%: 2.如果网站头部有图片展示,那就不能简单设置宽度为 100%,会出现 repeat 的情况,或者图片大小超出最外层容器宽度,此时可以设置最外层容器宽度为固定

关于在移动网页中图片自适应大小的写法

一般在移动网页时,图片属性写成如下就可以达到自适应大小 <style type="text/css"> .nameg{background: rgba(000,000,000,0.6);} .nameg div{float: left;} .nameg .a1{width: 10%;background:#000000;} .nameg .a1 img{width: 100%;height: 100%;display: block;} .nameg .a2{width: 9

一个在SOUI中加速自适应大小的控件更新的小技巧

在SOUI中的控件有指定大小和自适应大小两类控件. 指定大小的控件,在控件内容更新时不需要重新布局,而自适应大小的控件在内容变化后会导致父窗口重新布局. 最近有网友发现在高速批量更新一个窗口的自适应控件(如50次/S的速度批量更新30个文件控件)时,SOUI的性能很低. 跟踪发现导致这个问题的关键在于在一次刷新过程中,每更新一个控件就需要执行一次重新布局,显而易见,这种情况下效率是非常低的. 解决这个问题的方法有两种: 一个简单的方法就是将自适应大小的文本控件改成固定大小的文本控件,如此,在定时

UITableViewCell自适应内容高度

UITableViewCell自适应内容高度 (2015-06-25 16:02:31) 其实TableViewCell自适应高度也就是Cell中的label自适应高度,网上有好多label自适应高度的方法,可以百度. 除了上面说的,还有一种比较简单的,其实原理估计都是一样的,只是个人觉得这种更好些而已. 首先我们知道返回cell自适应高度,那么这个高度怎么来,肯定是TableViewDelegate的方法- (CGFloat)tableView:(UITableView *)tableView