当前位置: 首页 > 知识库问答 >
问题:

TableViewCell自动高度

常自怡
2023-03-14

我有一个标签在UITableViewCell,我想我的高度TableViewCell是自动根据标签高度。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    TWTTweetTableViewCell *cell = (TWTTweetTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"TWTTweetTableViewCell" forIndexPath:indexPath];

TWTTweet *tweet = self.tweets[indexPath.row];
cell.tweetMessage.text = tweet.tweetMessage;
cell.timestamp.text = [tweet howLongAgo];

cell.tag = indexPath.row;

TWTUser *user = [[TWTTwitterAPI sharedInstance] userForId:tweet.userId];
cell.user.text = user.username;

return cell;

}

共有3个答案

杨凌
2023-03-14

首先转到情节提要上的UITableViewCell标签的属性检查器,并将换行符属性设置为Word Wrap。现在,标签的约束非常重要。

只给出顶部、底部、前导、尾随约束,这样单元格可以根据标签的内容调整其高度。

然后在您的viewdiload或为tableview设置delegate的位置添加以下代码,

self.yourTableView.estimatedRowHeight = 52.0; // Your desired minimum height for the cell.
self.yourTableView.rowHeight = UITableViewAutomaticDimension;

令狐良骏
2023-03-14

获取动态更新的高度

-添加这些方法

===========

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewAutomaticDimension;
}

-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewAutomaticDimension;
}

======

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}
祁修平
2023-03-14

用于在viewDidLoad中设置UITableViewCell的动态高度

_tableView.estimatedRowHeight = 100.0;
_tableView.rowHeight = UITableViewAutomaticDimension;

根据内容高度自动设置单元格高度

让我知道这是否有效。。。

https://stackoverflow.com/a/35055320/5085393

或作为自动标注的方法

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}

 -(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 100;
}
 类似资料:
  • 这不是重复的问题,因为这个问题没有真正的解决方案 我尝试使用约束通过其内容实现< code>UITableViewcell动态高度,但得到布局警告: 将尝试通过破坏约束来恢复 在 UIView 中创建一个符号断点对于不满意的约束,以便在调试器中捕获此内容。UI视图上列出的基于 UI 的基于 UI 的布局调试类别中的方法也可能有所帮助。2019-03-15 12:27:52.085475 0400

  • 我按照这个答案:在UITableView中使用自动布局进行动态单元格布局 我在Storyboard原型单元中设置了约束,而不是以编程方式 图像下载异步完成。 基本上,我正在使用下载图像,并调整的高度,以便它显示整个图像(当然是按比例缩小的)。我遇到的问题在下面的代码中进行了注释:

  • 问题内容: 我想使textarea的高度等于其中的文本的高度(并删除滚动条) HTML CSS 问题答案: 可以使用JS实现。 这是一个使用elastic.js的“单行” 解决方案: 更新:似乎不再有elastic.js,但是如果您正在寻找一个外部库,我可以推荐JackMoore的 autosize.js 。这是工作示例:

  • 问题内容: 题: 如何使UITableViewCell高度动态变化UICollectionViewCell? 查看层次结构: UIViewController UITableView UITableViewCell UICollectionView UICollectionViewCell1 Label 1 UICollectionViewCell2 Label 2 UICollectionVie

  • 自定义UITableViewCell。在列表单元里面实现2*2的方格,每个方格有不同的内容。类似于twitter里面的个人数据统计。 [Code4App.com]

  • 实现的效果是,用户用手指从左到右划过列表中的任意一行,此行会有“撕开”的效果,显示其他信息,用户手指反方向划过,则复原。 [Code4App.com]