使用显示/减少按钮展开/折叠表格视图单元格
Posted
技术标签:
【中文标题】使用显示/减少按钮展开/折叠表格视图单元格【英文标题】:Expand/Collapse tableview cell with show/less button 【发布时间】:2017-11-26 13:58:07 【问题描述】:我想创建一个如下图所示的表格视图...
table view cell
并非所有单元格都有额外的值,但所有单元格都有标题描述。单击“显示详细信息”按钮时,单元格将展开动画。我有以下问题。
-
是否需要设计 2 个单元格(一个单元格用于标题和描述,另一个用于标题、描述和额外值)
如何在单击“显示详细信息”按钮时展开单元格。有些单元格只有描述,有些单元格同时有描述和额外值。
哪个更有效?在这种情况下自动调整大小或自动布局。
任何建议都会有所帮助。
【问题讨论】:
Expand UILabel inside UITableView with "more" button like Instagram的可能重复 【参考方案1】:以下是答案:
不,不是。但是,如果您可以显示没有“显示详细信息”按钮的单元格的设计,我会说更准确的答案。但基本上,我会说规则是“如果顶部相同,那么你可以对两个单元使用相同的设计”。因为你要做的只是隐藏单元格的底部。由于单元格的高度较小,它将被隐藏。但是:考虑到你想让它变得精简,你可能不希望单元格的底部有一个多余的部分,它被隐藏起来不做任何事情。所以理想情况下是有 2 个单独的单元格,但回答您的问题是没有必要。
这里有2个问题:如何查看点击+如何展开。我会一一解释。
2.1。如何检查点击:在单元格类中创建一个委托,它将告诉您的视图控制器“显示详细信息”按钮已被点击,然后在视图控制器中展开单元格。
2.2。只需使用heightForCellAtIndexPath
来调节单元格的高度。如果它被扩展,则使其更高,如果不使其更短。但这里的要点是,当调用委托方法时,您需要调用tableView.reloadRows(at:)
,您需要在其中重新加载带有动画的单元格,它会以漂亮的动画扩展单元格。顺便说一句,我更喜欢使用 .fade
动画。
-
我想我在上面回答了这个问题,但如果还不清楚,请告诉我。
希望对你有帮助。
【讨论】:
我应该为此使用自动高度计算还是自己计算单元格高度? @WAHIDMARUF 最好使用自动高度,并让单元格根据自动布局约束重新计算其高度。除了您可以使用表格视图 beginUpdates 和 endUpdates 方法来设置单元格高度变化的动画,只需查看文档即可:) 一个小问题,你能告诉我我应该使用标签还是文本视图来获取“具有值 1、值 2、值 3 的额外值”部分?我必须为此使用属性。但是什么会更有效呢? 据我了解,值行的数量会有所不同吗?然后我会使用 UIView 的堆栈视图,其中包含 2 个标签(值 1 和价格)以上是关于使用显示/减少按钮展开/折叠表格视图单元格的主要内容,如果未能解决你的问题,请参考以下文章