问题标签 [uitableviewautomaticdimension]

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 回答
108 浏览

ios - 如何仅重新加载 UITableView 的可见(最后一个)单元格?

我正在构建一个聊天应用程序。我UTableView用来构建聊天框。当我加载聊天框屏幕时,我需要将 tableview 滚动到最后一条未读消息的索引路径。我正在使用scrollToRowAtIndexPath方法来做到这一点。在这种情况下,cellForRowIndexPath从 indexPath 0 开始调用所有单元格。这会严重影响应用程序性能。由于我对单元格高度使用自动尺寸,因此我也无法使用setContentOffset方法。

有没有其他方法可以在不加载中间单元格的情况下将 tableview 滚动到所需的 indexPath?

0 投票
2 回答
1642 浏览

ios - 在 UITableViewCell 中隐藏 UI 元素并根据其调整单元格大小

使用 UITableViewAutomaticDimension 在 UITableView 中隐藏 UI 元素的最佳方法是什么?

我在一个单元格中有多个标签、按钮、图像视图。对于特定条件,我想隐藏其中的一些并希望 tableview 相应地调整大小。

如果我遗漏了什么,请纠正我。

0 投票
1 回答
7831 浏览

ios - 使用 Instagram 等“更多”按钮在 UITableView 中展开 UILabel

我有一个项目(由其他人编写),其中有一个在表格视图中显示内容和文本的提要。每个帖子对应于表格视图中的一个部分,每个部分都有自己的行,对应于内容、文本、按钮等元素。

我需要在表格视图单元格内显示带有“更多”按钮的帖子标题的短标签,当点击更多按钮时,标签将扩展到标题适合的任何大小,所有这些都发生在表格视图单元格内。当点击更多按钮时,我将标签的numberOfLines属性更改为零,并且由于单元格具有自动高度,我只需要重新加载该特定标题单元格。numberOfLines(如果我在显示单元格之前首先设置为 0,则单元格会以扩展大小正确显示。)

我试过了:

[tableView beginUpdates]; tableView endUpdates];

我尝试了各种动画选项:

[tableView reloadRowsAtIndexPaths:@[myPath] withRowAnimation:UITableViewRowAnimation(Bottom,Top,None etc)];

我试过了:

[tableView reloadSections:[NSIndexSet indexSetWithIndex:myPath.section] withRowAnimation:UITableViewRowAnimation(Top,Bottom,None etc)];

但是它们都产生了相同的结果:整个表格视图布局变得混乱:它跳转到另一个单元格,一些视图变为空白,单元格相互重叠,单元格内的视频停止播放,并且标签不展开(但内部刷新本身,例如带有一行的简短预览 txt 从顶部/底部等动画,但不展开)。

什么可能导致整个表格视图混乱,以及如何正确地重新加载一个单元格和扩展动画,而不会弄乱整个布局?我已经看到了很多关于此的问题和答案,但他们都推荐了我已经尝试过并在上面解释过的选项。

我的应用面向 iOS 8.0+

更新:这是相关代码(删除了一些与布局无关的内部工作部分):

在里面setPost:

按钮操作很简单:

更新2:这里有一些关于这个问题的更多方法:

Header的setPost:方法基本上是将相关文本设置为标签(与标题无关,它们是完全不同的单元格。有问题的单元格不是标题单元格)。该表没有任何页脚方法。关于高度的唯一方法是上面的方法。

(post count 和 cursor 和 hasMore 也是确定性的)。

更新3:我问了一个问题(虽然有类似的问题,但不是重复的)并得到了一个有用的答案来解决我的问题。投反对票的人能否详细说明他们投反对票的原因?

0 投票
3 回答
1221 浏览

ios - 当我更改行数时,具有 rowHeight UITableViewAutomaticDImension 的 UITableView 不会更新

我有一个UITableViewCell固定在底部的描述标签,如下所示: 在此处输入图像描述

点击描述标签在和numberOfLines之间切换:30

当我点击标签时,行数确实会改变,但单元格不会扩展以适应新的行数。我该如何解决?

折叠(默认):

在此处输入图像描述

扩展:

在此处输入图像描述

0 投票
3 回答
316 浏览

ios - 如果分配给属性的字符串太长,表格视图单元格不显示

我正在构建一个应用程序,让用户创建一个由标题和文本组成的“故事”。

我正在实现一个显示所有已创建故事的 tableView。到目前为止一切正常。但这是我的问题:

当用户输入的标题或文本比 tableViewCell 能够显示的更长时,该单元格根本不会显示。其他名字较短的人仍然这样做。

我正在使用单元格样式“字幕”。

如何限制单元格中显示的文本数量以及导致此错误的原因?因为即使我找到了修复它的方法,屏幕上的文本可能仍然存在问题。

这是我UITableViewController课堂上的代码:

这是界面生成器的 UI 屏幕截图:

这是界面生成器的 UI 屏幕截图

0 投票
2 回答
580 浏览

ios - 具有异步获取的动态大小图像的 iOS UITableViewCell

我正在尝试使用两个标签和中间的图像制作表格视图。图片是从网络上异步获取的,在获取之后我想让 UIImageView 的框架适合图片的大小,并适合表格视图的宽度。我设置了自动布局:对于每个标签和图像只有顶部、底部、前导和尾随空间,没有高度限制。

在此处输入图像描述

我在控制器中设置了 rowHeight 和estimatedRowHeight:

获取图像后,图像上方和下方会出现额外的填充(我已将图像视图的背景颜色设置为红色,以便清楚地看到它):

在此处输入图像描述

你能帮我在图像视图中没有额外的填充,但它适合图像的大小吗?

0 投票
1 回答
299 浏览

ios - 添加行和 UITableViewHeaderFooterView 高度为 UITableViewAutomaticDimension 时的动画故障

在部分中插入新行并且标题的高度设置为具有估计高度的 UITableViewAutomaticDimension 时,我遇到了一些动画故障。此外,您可能会注意到,在删除行时,标题会直接跳转到最终位置。

在此处输入图像描述

另一方面,如果将估计设置为 0(这意味着没有估计),故障就会消失,但标题的高度计算不正确。

在此处输入图像描述

有什么线索吗?

0 投票
6 回答
8980 浏览

ios - UITableView 部分标题自动高度未正确更新

我遇到了自动/动态 UITableView 部分标题视图的问题,其中包含一个包装的 UILabel ( numberOfLines = 0 )。高度计算不正确,尤其是在您滚动表格并重用视图时。有时 UILabel 会换行,有时会被截断,有时一个或多个标签不可见,有时标签之间有额外的间距。自定义视图包含一个带有三个 UILabel 的垂直 UIStackView,其中一个会换行。

可以在https://github.com/outerstorm/tableviewHeaderTest找到演示该问题的完整示例应用程序。

部分标题高度在 viewDidLoad 中设置为自动,如下所示:

并且还实现了以下 heightForHeaderInSection 只是为了让它工作:

我也试过在不同的地方调用setNeedsLayout()layoutIfNeeded()都无济于事。任何建议将不胜感激。

下面是在应用程序中看到的行为的屏幕截图。第一段被截断,第二段太高:

在此处输入图像描述

0 投票
1 回答
577 浏览

ios - 在 UITableView 中使用动态标签宽度管理自动标题高度

我想创建一个具有动态高度的 UITableView 标头。我在视图中有四个标签,并且必须根据每个 UILabel 中的内容调整标题的高度。我想实现与此图像类似的东西。示例图像。

此处标签的宽度将根据屏幕尺寸动态变化。“类型”标签将覆盖大约 2/3 的屏幕,其余部分将在三个标签之间平均分配。这里根据屏幕大小,标签可能是多行的,我想根据标签的内容管理主视图的高度。

当我为标签提供固定宽度约束时,我能够成功地管理高度,但我想保持标签的宽度动态。这是一个 UITableView 标头。任何帮助将非常感激。

0 投票
2 回答
94 浏览

ios - TableView 单元格动态高度

我有一个 UITableView(表 1)。在 UITableView 单元中,我有另一个 UITableView(表 2)。

在行的Table 2高度是。UITableViewAutomaticDimension

我的要求是 - 我希望它Table 2不应该滚动并根据其中的行数取其全高。所以,根据 thisTable 2的高度,我需要设置Table 1的行高。

我正在使用 Table 2 的 contentSize.height,但它不起作用。我搜索了很多,但一无所获。

代码 :

更新:

我已经调试了代码,发现表 2 的单元格的估计高度会影响表 1 的单元格的高度。即 - 如果表 2 的单元格的估计高度是 100,这些是 5 个单元格。然后这cell.second_TableView.contentSize.height给了我 500。这是错误的。因为单元格的高度不同,分别为 10、20、30、40、10。

任何建议将不胜感激。

谢谢!