问题标签 [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 投票
0 回答
105 浏览

ios - UITableView 断断续续滚动 W/O 图像

从细节控制器返回后。我调用 scrollToRowAtIndexPath ,它按预期工作,将我返回到该行。如果我继续向下滚动 tableview 一切都很好,但无论我滚动多慢,向上滚动都会非常不稳定。没有图片只有文字。有什么办法可以改善这一点吗?所有单元格都相同并使用相同的标识符。

0 投票
1 回答
361 浏览

ios - 设置约束以驱动 UITableViewAutomaticDimension 的 UITableViewCell 高度

我有一个自定义 tableViewCell,我正在尝试设置约束,以便我可以使用 tableView.rowHeight = UITableViewAutomaticDimension。

为简单起见,假设我有一个 uiTableViewCell,其内容视图仅包含 UIImageView。UIImageView 被限制为保持一定的纵横比,并固定在单元格内容视图的左侧、右侧和顶部。我希望我的内容视图的高度由 UIImage 视图的高度驱动。

我一直在尝试通过将内容视图底部固定到 UIIMage 视图底部来解决此问题,但在运行时出现“无法满足所有约束”错误。设置它的正确方法是什么?

0 投票
5 回答
6499 浏览

ios - ios中的动态单元格高度在swift中以编程方式使用约束

我正在快速开发一个项目,该项目需要根据标签内容使单元格大小动态变化,因此我搜索了动态单元格高度,我找到了一些解决方案,但所有这些都包括使用情节提要来分配约束。没有故事板是否可以做到这一点。是否可以以编程方式进行?我的意思是在没有故事板的情况下应用自我调整大小

我的代码是:

希望问题很清楚。

提前致谢。

编辑:下面的答案都没有帮助

0 投票
1 回答
607 浏览

ios - iOS > 8:UITableViewAutomaticDimension 和 layoutIfNeeded 的问题

基于这篇 SO 帖子,我更新了我的 TableViewControllers 以在填充我的自定义 tableviewcells 后始终调用 layoutIfNeeded。事实上,这是使用多个多行标签正确渲染单元格的唯一方法。

单元格现在呈现正确,但我的控制台充斥着我无法修复的损坏的约束消息。

例如:

其中一个麻烦的单元看起来就像这样简单: 自定义表格视图单元格

约束和拥抱优先级/压缩阻力似乎设置得当:

ContentView 的约束

我尝试了一切,从在我的 CustomCell 中实现 init:coder/awakeFromNib/layoutSubviews 等,并将自动调整大小设置为 UIViewAutoresizing.FlexibleWidth and UIViewAutoresizing.FlexibleHeight还设置了contentView.frame = self.boundsSO 上的几篇文章中所述的设置,例如这篇文章,但似乎没有任何效果。在“破碎”的约束上玩 >= 也无济于事。

这是另一个示例,以防它帮助某人找到快速解决方案:

老实说,怎么了?

0 投票
2 回答
4336 浏览

ios - 具有自动布局和附件视图的自定义 UITableViewCell

我有一个使用自动布局的自定义表格视图单元格,并有一个披露指示器作为附件视图。首次显示时屏幕上单元格的单元格大小完全错误:

如您所见,该单元占用了大约 1.5 个屏幕的空间:

在此处输入图像描述

但是,如果我旋转设备并向后旋转,它看起来很好:

在此处输入图像描述

正如你在这里看到的,我没有做任何复杂的事情:

在此处输入图像描述

我有一个非常不理想的解决方法:

但这显然会在您第一次看到屏幕时导致“闪光”。在更复杂的情况下,闪光更为明显。

我有另一种解决方法,但这会导致自动布局异常:

例外:

在此处输入图像描述

至少这种方法不会让我 UI 闪烁。

如果我删除附件视图,它实际上工作得很好。

更新:我已经向 github 添加了一个示例项目: https ://github.com/fwaddle/TableCellAccessoryTest

更新#2:原来围绕这个错误的另一项工作是在代码中布局单元格。我只是尝试在代码中做同样的事情,它没有抛出警告并且工作正常。看起来像一个 IB 错误。

任何想法如何解决这个问题?谢谢。

0 投票
1 回答
3282 浏览

ios - 动态设置 UITableViewCell 的高度来包裹内容

我正在尝试在 UITableView 中显示 3 个图像视图以及 UILabel 中的一些附加信息。附件是我的细胞原型的图像:

在此处输入图像描述

目前,我的问题是图像内容正在运行到以下单元格。在我测试时,我目前只加载 3 个中最大的图像(我从服务器中拉出它们,从最大到最小预先排序——我还要注意图像将受到各种尺寸限制)。

我的问题是,虽然它的宽度正常工作,但它的高度会越过度量标签并进入下一个单元格。

我现在知道,为了使其工作,必须正确配置自动布局约束。但是,我对此很陌生,并且遇到了一些麻烦。

首先,我将尝试准确解释我想要完成的任务:

  1. 描述标签应该跨越整个表格单元格。

    • 为此,我将前导、顶部和尾随空格固定到超级视图
  2. 我希望右上角和左上角的图像都位于描述标签的正下方。为此,我已经:

    • 将右上角图像的前导空间固定到超级视图
    • 将左上角图像的尾随空间固定到超级视图
    • 将两个图像的顶部空间固定到描述标签
    • 固定这两个图像之间的水平间距
  3. 我想右下角直接在右上角,要做到这一点,我已经:

    • 将右下角图像的前导空间固定到超级视图
    • 将右下角图像的顶部空间固定到右上角图像
  4. 我希望指标标签出现在左上角图像下方,为此,我已经:

    • 将此标签的顶部空间固定到左上角的图像
    • 将指标的底部和后沿固定到超级视图
    • 将指标的前导空间固定到右下角的图像。

我确定我在这里做错了什么,我不应该在任何时候将子视图固定在一起吗?

另外,为我对这个问题的介绍表示歉意。下面是我收到的警告的图像(供您参考,图像 1 在右上角,图像 2 在左上角,图像 3 在右下角)当我查看每个图像视图的约束时,每一侧都是占。

任何帮助,将不胜感激!谢谢。

在此处输入图像描述

0 投票
2 回答
442 浏览

ios - 包含多行 UILabel 的 iOS8 Self-Sizing UITableViewCells 高度错误

我以编程方式生成的自定义UITableViewCell包含几个UILabel可以包装文本的内容:

我在 a 中使用这些单元格,并UITableView带有以下参数:

因此,我希望单元格的高度会自动调整,并UILabel在需要时显示多行。

因为这对新创建的单元格不起作用,所以我强制UITableView执行更新viewDidAppear

这适用于在第一次出现时生成的单元格,UITableView因此在更新时已经存在。但是,它不适用于稍后通过滚动生成的单元格。这些后来初始化的单元格没有机会从更新中受益,因此高度不正确。

我找到了一种不同的方法来解决这个问题:https ://stackoverflow.com/a/25967370/4943710 但是这种方法的缺点是布局过程可能需要多次通过。然后,该方法正在处理导致不正确高度的临时结果。结果又是缺少文本行。此外,似乎单元格在以后的更新中失去了适应能力(例如,当改变界面方向时)。

现在我的问题是: 如何确保稍后生成的单元格(更新后UITableView)始终以正确的高度显示?

0 投票
1 回答
77 浏览

ios - 如何设置约束以将 UIView 的高度设置为与相邻视图的灵活高度相同?

我在情节提要中有一个包含图像的 UIView 视图:

在此处输入图像描述

当我编译表格时,我得到:

在此处输入图像描述

但是,在没有图像的情节提要中的另一种情况下:

在此处输入图像描述

我得到结果:

在此处输入图像描述

我的UITableView正在使用UITableViewAutomaticDimension

问题是:

如何设置我的约束UIImageView以确定其高度与相邻视图的最大高度相同?

0 投票
3 回答
694 浏览

swift - TableViewCell 中的动态高度不起作用

我今天花了六个多小时研究并尝试创建动态单元格但没有成功。我也找到了一些很棒的教程。我做错了什么,希望有人能告诉我什么。

我的应用程序: 表格开始为空。单击添加按钮会显示一个模态 VC,它有两个文本输入字段(标题/描述)。该数据被传递回表。主 VC 中的 unwind 方法重新加载表数据。

问题:如果单元格的描述部分超过一行,它就会被截断。

这是我的主视图控制器中的代码,其中包含表格:

我的模态/编辑器视图中的代码:

我的任务管理器文件包含一个将新项目附加到表的功能:

我一直参考的教程:

http://natashatherobot.com/ios-8-self-sizing-table-view-cells-with-dynamic-type/

http://www.raywenderlich.com/87975/dynamic-table-view-cell-height-ios-8-swift

http://coding.tabasoft.it/ios/ios8-self-sizing-uitableview-cells/

http://useyourloaf.com/blog/2014/08/07/self-sizing-table-view-cells.html

我认为我做对的事情:

- 表格添加到视图,原型单元格添加到表格

- 向单元格添加了两个标签。添加了自动布局。顶部标签约束是容器(前导、尾随和顶部)。底部约束是第二个标签。底部标签具有从上到下的标签,然后是前导、尾随和底部的容器。

- 顶部标签具有 751 级抗压缩和内容拥抱的优先级。底部标签对所有四个都具有 750 优先级。

- 两个标签的首选宽度都设置为自动。显式未选中

0 投票
1 回答
51 浏览

ios - 如何使用具有自动尺寸的 UITableView 更改该单元格内 UITableViewCell 的高度?

到目前为止,我尝试过:

我也尝试过框架方法:

没有人在工作...