gpt4 book ai didi

ios - 在自调整单元格中按比例分布的 UIStackView

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:11:34 25 4
gpt4 key购买 nike

我在水平堆栈 View 中有两个标签。标签的 numberOfLines 设置为 0,因此它们将无限环绕,Vertical Content Compression Resistance 设置为 1000,因此它们将始终是它们的全高,Horizo​​ntal Compression Resistance 设置为 250,因为我希望它们能够缩小,并将 Content Hugging 设置为 1000(两个轴,因为我总是希望框架紧贴标签)。见:

Interface Builder screenshot

然后该堆栈 View 是自调整单元格中的唯一项目。它被限制在顶部、底部、前导和尾随边距。堆栈 View 与标签具有相同的抗压性/内容拥抱。

在运行时,在我的 cellForRowAt indexPath 函数中,我将两个标签设置为不同长度的文本。由于我在别处读到布局在这里可能是个问题,所以我也这样做:

    cell.contentView.setNeedsLayout()
cell.contentView.layoutIfNeeded()

但是,当我运行时,最初会看到一些奇怪的行为。但是当我四处滚动时,事情开始看起来不错。问题似乎与单元格重用有关,但我无法弄清楚出了什么问题。

Simulator Screen Shots

左侧 - 初始负载。请注意,值标签被完全切断,在第二个单元格中,比例间距似乎根本不起作用 - 与名称标签相比,值标签非常窄。

在右侧 - 当我滚动到列表底部并返回顶部后的表格。这正是我所期望的:标签根据其固有内容大小按比例间隔。但是我怎样才能在不滚动的情况下获得这种行为呢?

最佳答案

我认为您最大的问题是水平 StackView,您的宽度是根据堆叠的内容动态计算的。根据您的宽度限制,将 StackView 限制为特定宽度,更大的工作就变成了如何计算内容的宽度。然后你将投入无限行,这使得动态宽度更具挑战性,因为必须有一些阈值。

我建议为 FieldName 或 FieldValue 定义宽度,无论是常量还是基于父宽度百分比的相对宽度。我很确定您的拥抱和压缩只会互相打架,因为 FieldName 有时可能比 FieldValue 长,有时则相反。

你必须在某处设置硬限制。

关于ios - 在自调整单元格中按比例分布的 UIStackView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43351901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com