问题标签 [heightforrowatindexpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
580 浏览

ios - heightForRowAtIndexPath:当字符串包含换行符时计算不正确\n

我在分组中插入了以下字符串UITableViewCell

请注意,它包含 \n。当字符串包含新行时,我的heightForRowAtIndexPath:方法中返回了不正确的高度:

其他不包含新行的字符串也可以正常工作。是否有理由在计算高度时不考虑新线并返回太短的高度给我?

谢谢

0 投票
2 回答
1212 浏览

ios - 表格视图,静态单元格,更改单元格高度

我知道使用动态 TableView,您可以使用... tableView:heightForRowAtIndexPath 设置单元格高度:

但是,如果我使用的是静态表格视图(不是动态的),带有部分,我想以编程方式将单元格的高度设置为 0。

}

问题以另一种方式提出,如果我有 indexPath.section... 我该怎么做... indexPath.Section.row?

0 投票
1 回答
411 浏览

uitableview - UITableView 的初始加载返回默认高度。heightForRowAtIndexPath 已实现

在这个项目中,我正在使用来自 Web 服务的数据填充一个表。随着更多数据可用,表会重新加载。我heightForRowAtIndexPath用来根据标题字符串的大小来调整单元格的大小。它返回 54 的 MAX 或字符串高度。奇怪的是,表格第一次运行加载序列时,它为每个单元格返回 44。我将单元格高度记录在cellForRowAtIndexPath. 当第二次调用 reload 时,我得到了正确的单元格高度。结果是单元格子视图最初不合适,然后非常突然地就位。想知道是否有人对此有任何见解UITableView可能会为我指明正确的方向。谢谢!

0 投票
1 回答
3341 浏览

ios - UITableViewCell 框架高度始终为 44px

我正在使用 heightForRowAtIndexPath: 方法返回 100 设置单元格的高度。但在 cellForRowAtIndexPath 方法中,单元格的框架高度始终为 44px。

以下是我的代码。

NSLog 语句打印“44px 44px”。

我可以使用此语句获得正确的高度

0 投票
0 回答
180 浏览

ios - 使用 uitextview 获取 UITableViewCell 的高度

我发现了很多类似的问题,但没有给我答案。

我正在尝试执行相同的单元格,例如 iOS 联系人应用程序中的注释单元格。左边有label,右边有uitextview。当我无法设置正确的单元格高度时,只有一个问题。当委托第一次询问单元格高度时,我调用此方法:

但我无法在所有设备和所有方向上获得适当的高度。请帮忙。

0 投票
2 回答
1373 浏览

ios - 具有自定义单元格和标签的 heightForRowAtIndexPath

如果我正在定制UITableViewCell并且我需要它根据输入的长度(例如,对于 Twitter 阅读器或其他东西)具有可变的高度,我怎样才能使它工作?

我在这里找到了许多其他示例,可以将其设置为标准的非自定义单元格,但我的单元格的主文本标签更小,等等,所以当我尝试在我的单元格上使用这些方法中的任何一种时,它们给出各种奇怪的结果(文本与单元格底部重叠等)

是否有设计单元格的标准化方法(例如,我应该在 Interface Builder 中制作多高?),假设我的标签是该单元格宽度的一半。我将如何计算单元格的高度需要显示加载到该标签中的字符串吗?这是我在这里找到的一种方法,它在普通单元格上运行良好,但是用奇怪的高度、重叠的文本等搞砸了自定义的:(我完全不知道 300 / 200000 在这里做什么,如果有人能解释一下我'我也感激不尽!)

0 投票
1 回答
1371 浏览

ios - 使用自动布局自定义 UITableViewCell 的子视图 - 没有 xib,全部在代码中

使用自动布局在代码中添加的自定义 UITableViewCell 的子视图有效(已验证)。然而,这样做的重点是不必计算每个 tableview 单元格的高度,并且委托方法 heightForRowAtIndexPath 在绘制 tableview 时需要一个高度。

如何使用自动布局(在已添加和工作的代码中添加基于视觉格式语言的内容)根据内容计算出这个高度,并将其返回到这个 heightForRowAtIndexPath?

此外,我真的不能在后台线程上执行此操作(或者我可以吗?),因此,如果我有一个 UITableView 使用它并由 1000 条记录的列表支持,这将永远持续下去,对吗?

0 投票
4 回答
4920 浏览

ios - 尝试在 cellForRowAtIndexPath 中设置单元格的高度,在 heightForRowAtIndexPath 之后

由于heightForRowAtIndexPath之前调用过cellForRowAtIndexPath,我假设如果我想从内部修改高度cellForRowAtIndexPath,我可以这样做。好像我做不到。我已经通过测试NSLog,如果我更改cell.frame.size.height,更改会正确存储在其中,但单元格本身不会采用新的大小(它使用的是我在 中设置的那个heightForRowAtIndexPath)。

是否有另一种方法可以调整在某个时间点调用的单元格高度cellForRowAtIndexPath?如果没有,还有其他方法可以解决这个问题吗?我需要使用cellForRowAtIndexPath,因为我正在动态决定是否依次将图像随机添加到每个单元格。

0 投票
3 回答
4005 浏览

ios - cellForRowAtIndexPath 在加载时将单元格视为不同的高度,然后重新加载?

前言:这是一个相当抽象的问题。

我有一些单元格UITableView使用不同的图像,具体取决于单元格的高度(以 50px 为增量,从 50px 到 1000px 高)。我遇到了一个奇怪的问题,当应用程序首次加载时,cellForRowAtIndexPath报告前三个单元格(无论三个单元格是否都在屏幕上)的高度为 100px,然后当我向下滚动并再次向上滚动时,它们的高度会恢复到正确的值。屏幕上没有高度变化,只有使用的图像发生变化,以及cell.frame.size.height我的NSLog陈述中的值。

我一直在登录,heightForRowAtIndexPath并且cellForRowAtIndexPath我可以在他们离开时验证高度是否正确heightForRowAtIndexPath。但是,当输入 时cellForRowAtIndexPath,前三个高度都统一设置为 100。然后我向下滚动直到这三个单元格离开屏幕,然后向上滚动,.height值已更改为正确的值。

总结一下,我的问题是:

heightForRowAtIndexPath在最后和最开始之间是否有任何代码cellForRowAtIndexPath可以改变cell.frame.size.height这些前几个单元格的值?

为什么这个问题只发生在前三个单元格上?而且,为什么他们会在稍后重新加载时恢复?我认为重用标识符可能是原因,但它们在首次加载时仍被分配了该标识符,所以这不重要,不是吗?

编辑:我认为 100px 高度来自故事板中原型单元格的行高,就好像我将其更改为 101px 一样,前三个单元格最初为 101px。

编辑:这是我用来设置图像的代码,虽然这部分正在工作,但它只是使用了错误的值:

0 投票
0 回答
3246 浏览

objective-c - 目标 c - 在运行时扩展单元格高度

我有一个自定义单元格,其中一个标签可以大到足以证明添加“查看更多”按钮是合理的。因此,我将标签的内容截断为 5 行,然后添加此按钮以扩展内容(如果需要)。

我的问题是:这可以在不使用 tableView 的 reloadData 的情况下完成吗?

我在“查看更多”按钮(在自定义单元格内)的触摸事件上尝试了此代码:

什么都没发生!我想我需要一种方法来扩展单元格行高以及表格视图的内容高度。

提前致谢,


版:我在链接ios - Expand table view cell like Twitter app中检查了解决方案,我已在自定义单元格中应用了此代码(在触摸事件上):

我现在有 2 个问题:1) reloadRowsAtIndexPaths 正在执行整个 reloadData。2)自定义单元格是知道单元格高度的那个。访问此方法时,self.contentExpanded 始终等于 NO。

***方法 parentTableView 取自对单元格的父 tableView 的引用


第 2 版:我认为问题不在于 heightForRow。我无法避免为所有单元格调用此方法...

在自定义单元格中: