【问题标题】:Expand/Collapse tableview cell with show/less button使用显示/减少按钮展开/折叠表格视图单元格
【发布时间】:2017-11-26 13:58:07
【问题描述】:

我想创建一个如下图所示的表格视图...

table view cell

并非所有单元格都有额外的值,但所有单元格都有标题描述。单击“显示详细信息”按钮时,单元格将展开动画。我有以下问题。

  1. 是否需要设计 2 个单元格(一个单元格用于标题和描述,另一个用于标题、描述和额外值)
  2. 如何在单击“显示详细信息”按钮时展开单元格。有些单元格只有描述,有些单元格同时有描述和额外值。
  3. 哪个更有效?在这种情况下自动调整大小或自动布局。

任何建议都会有所帮助。

【问题讨论】:

标签: ios swift uitableview tableview


【解决方案1】:

以下是答案:

  1. 不,不是。但是,如果您可以显示没有“显示详细信息”按钮的单元格的设计,我会说更准确的答案。但基本上,我会说规则是“如果顶部相同,那么你可以对两个单元使用相同的设计”。因为你要做的只是隐藏单元格的底部。由于单元格的高度较小,它将被隐藏。但是:考虑到你想让它变得精简,你可能不希望单元格的底部有一个多余的部分,它被隐藏起来不做任何事情。所以理想情况下是有 2 个单独的单元格,但回答您的问题是没有必要。

  2. 这里有2个问题:如何查看点击+如何展开。我会一一解释。

2.1。如何检查点击:在单元格类中创建一个委托,它将告诉您的视图控制器“显示详细信息”按钮已被点击,然后在视图控制器中展开单元格。

2.2。只需使用heightForCellAtIndexPath 来调节单元格的高度。如果它被扩展,则使其更高,如果不使其更短。但这里的要点是,当调用委托方法时,您需要调用tableView.reloadRows(at:),您需要在其中重新加载带有动画的单元格,它会以漂亮的动画扩展单元格。顺便说一句,我更喜欢使用 .fade 动画。

  1. 我想我在上面回答了这个问题,但如果还不清楚,请告诉我。

希望对你有帮助。

【讨论】:

  • 我应该为此使用自动高度计算还是自己计算单元格高度?
  • @WAHIDMARUF 最好使用自动高度,并让单元格根据自动布局约束重新计算其高度。除了您可以使用表格视图 beginUpdates 和 endUpdates 方法来设置单元格高度变化的动画,只需查看文档即可:)
  • 一个小问题,你能告诉我我应该使用标签还是文本视图来获取“具有值 1、值 2、值 3 的额外值”部分?我必须为此使用属性。但是什么会更有效呢?
  • 据我了解,值行的数量会有所不同吗?然后我会使用 UIView 的堆栈视图,其中包含 2 个标签(值 1 和价格)
猜你喜欢
  • 2016-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-25
  • 2018-07-31
  • 1970-01-01
相关资源
最近更新 更多