`
mrjeye
  • 浏览: 178086 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

UITableView高度自適應

 
阅读更多

- (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];
	
	// 構建顯示行
    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;
}


UILabel宽高自适应可以:
sizeToFit
2
2
分享到:
评论

相关推荐

    UITableView高度自适应解决方法

    然而,在实际应用中,我们经常遇到的一个问题是如何实现UITableView的高度自适应,即让每一行cell的高度根据其内容动态调整。本教程将详细介绍如何解决这个问题,同时提供源码下载供参考。 一、了解问题 在默认情况...

    UITableviewCell高度自适应

    本文将深入探讨`UITableView`中`UITableViewCell`高度自适应的实现方法。 首先,我们需要理解`UITableView`的工作机制。默认情况下,`UITableView`会为每个单元格分配一个固定的高度,这通常是通过`tableView(_:...

    UITableVIew 自适应高度实例

    本实例"UITableVIew 自适应高度实例"正是针对这一需求,提供了一种简单的方法来实现动态高度。 首先,我们要理解在UITableView中自适应高度的重要性。传统的静态高度设置可能导致单元格内容显示不全或者浪费屏幕...

    iOS WKWebView和UIWebView高度自适应

    对于高度自适应,我们可以监听`UIWebView`的`webViewDidFinishLoad:`代理方法,在此方法中通过调用`stringByEvaluatingJavaScriptFromString:`执行JavaScript代码来获取网页的实际内容高度,然后设置`webView`的`...

    ios-tableview高度自适应.zip

    `"ios-tableview高度自适应.zip"`这个压缩包文件显然与UITableView的自适应高度有关,特别提到了`"cell布局使用SDAutoLayout约束 简单方便快捷"`,这暗示我们将探讨如何使用SDAutoLayout来实现UITableViewCell的高度...

    UITableview的cell自适应高度

    然而,当表格中的单元格(Cell)内容动态变化时,如何让Cell的高度自适应其内容就显得尤为重要。这不仅能让界面看起来更整洁,也能提高用户的阅读舒适度。本篇将详细讲解如何通过纯代码实现UITableView的Cell自适应...

    UITableView自适应

    在这个话题中,我们将深入探讨两种主流方法来实现UITableView的高度自适应: Masonry布局和直接计算。 1. **Masonry布局** Masonry是一款强大的AutoLayout库,它简化了使用NSLayoutConstraint进行布局的过程。在...

    ios-TableView Cell加载WebiView高度自适应.zip

    总之,"ios-TableView Cell加载WebiView高度自适应.zip"的内容是关于如何在UITableView的Cell中嵌入WKWebView,并使其高度根据网页内容动态自适应。通过结合WKWebView的代理方法、JavaScript的注入以及UITableView的...

    ios-TableVIewCell 高度自适应.zip

    `ios-TableVIewCell 高度自适应.zip`这个压缩包可能包含了一个示例项目,它演示了如何在UITableView中实现单元格(UITableViewCell)的高度自适应,特别是在使用Model-View-ViewModel (MVVM)架构时。MVVM是一种流行...

    SDAutoLayout实现cell高度自适应

    SDAutoLayout是一个强大的自动布局库,它可以帮助开发者更轻松地实现Cell的高度自适应。下面我们将深入探讨如何利用SDAutoLayout来实现这一功能。 首先,了解SDAutoLayout的基本原理。SDAutoLayout是基于Masonry的...

    UITabeViewCell高度自适应的问题

    以下是对"UITabeViewCell高度自适应的问题"的详细解释和解决策略。 首先,了解UITableView的自适应高度机制。默认情况下,UITableView会根据cell的约束和内容来计算高度。每个cell需要有一个明确的约束系统,以便...

    ios-tableviewcell 输入内容实时刷新高度 自适应.zip

    然而,为了实现自适应高度,我们需要利用`UITableView`的`estimatedRowHeight`和`rowHeight`属性,以及`UITableViewDataSource`协议中的`tableView(_:heightForRowAt:)`方法。 1. **设置预估行高度...

    cell高度自适应

    这里我们将深入探讨如何基于`Masonry`框架实现`UITableView`中`cell`的高度自适应。 `Masonry`是一个强大的Auto Layout的宏定义库,它提供了简洁易用的API,使得布局工作变得更加高效。在`UITableView`中,我们通常...

    tableviewcell高度自适应demo

    在iOS开发中,UITableView是展示数据列表常用的控件,而UITableViewCell的高度自适应是常见的需求,尤其是在显示内容多变的情况下,自适应高度可以让界面看起来更加整洁且易于阅读。本示例"tableviewcell高度自适应...

    ios-纯代码高度自适应.zip

    在iOS开发中,"纯代码高度自适应"是一种常见的需求,尤其在处理UITableView或UICollectionView时。这个主题主要涉及如何在不使用AutoLayout或Storyboard的情况下,根据内容动态计算并设置单元格(Cell)的高度。以下...

    ios-一行代码cell高度自适应.zip

    在iOS开发中,创建用户界面时,我们常常需要处理UITableView中的Cell高度自适应问题。"ios-一行代码cell高度自适应.zip"这个压缩包提供了一种简洁的方法来解决这个问题,无需繁琐的Auto Layout约束,而是利用...

    ios-键盘高度自适应.zip

    在iOS开发中,处理键盘高度自适应是一项常见的需求,特别是在设计具有输入框的界面时,为了提供良好的用户体验,我们需要确保键盘弹出时,输入框不会被遮挡。"ios-键盘高度自适应.zip"这个压缩包文件很可能包含了...

    swift-cell高度自适应约束优先级对布局的影响

    在iOS的UITableView中,我们常常需要实现Cell的高度自适应,以便内容能够正确地显示在Cell内。Swift中的Cell高度自适应主要是通过两种方式实现的:自动布局(Auto Layout)和高度计算代理方法(heightForRowAt)。 ...

    swift-类似微信朋友圈和内涵段子评论回复TextView自动变化高度使用简单

    本文将深入探讨如何使用Swift创建这样一个自适应高度的TextView,并确保其使用简单、效果流畅。 首先,我们需要理解TextView的基本概念。TextView是iOS应用中用于显示和编辑多行文本的视图,通常用于长文本输入场景...

    UITableViewCell自适应高度

    `UITableView`的高度自适应功能主要是通过重写`UITableViewDataSource`协议中的`- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath`方法来实现的。这个方法需要返回...

Global site tag (gtag.js) - Google Analytics