【发布时间】:2018-06-26 16:06:28
【问题描述】:
我创建了一个通过多个部分分隔的可扩展表格视图。因为这个tableview在一个container view里面,所以每次tableview展开或者折叠的时候我都需要更新一下container view的大小。
我用 tableview.contentsize.height 更新了容器大小,但我发现内容大小在展开或折叠时有所不同。
例如,假设有 4 个部分,如果我折叠第 3 和第 4 部分,tableview 将返回 200 的高度。同时,如果我只展开第 1 和第 2 部分而第 3 和第 4 部分折叠,则内容尺寸高度大于200。
我很沮丧为什么程序给我这样混乱的信息,因为我需要一个合适的内容大小高度来更新容器视图。这里的任何人都可以启发我吗?
【问题讨论】:
-
没有更多信息我无法判断,但我怀疑您要么不需要调整 containerView 的大小,要么您不了解 UIScrollViews 的工作原理。
-
@PeejWeej 我对 swift 太陌生了,我发现有 UItableviewautomaticdimension 功能。一个问题,containderview里面的tableview,那么这个container在一个static tableview cell里面,可以根据内容自动调整大小吗?
-
你有一个
ContainerViewinsideUITableViewCell? -
@PeejWeej 是的,我正在维护旧代码,所以我现在无法进行太多更改。有什么方法可以动态改变静态表格单元格内容器的大小?
-
通常这甚至是不允许的,但也许它适用于静态单元格。如果您将所有约束设置为自动调整大小,您可以在
ContainerViews 上设置containerView.translatesAutoresizingMaskIntoConstraints = false,它应该根据其布局约束调整大小。
标签: ios swift uitableview