自定义手风琴/可折叠 UITableViewCell 的自动布局

Posted

技术标签:

【中文标题】自定义手风琴/可折叠 UITableViewCell 的自动布局【英文标题】:AutoLayout of Custom Accordion/Collapsible UITableViewCell 【发布时间】:2015-10-08 16:43:44 【问题描述】:

我想构建一个 TableView,当用户单击一个单元格时,它会展开以显示更多信息。我的问题是如何使用 Autolayout 来安排每个单元格中的多个项目。

无论是否折叠,每个单元格的大小始终相同,因此大小不是动态的。

我遇到的第一个问题是如何使用 Autolayout 来排列单元格中的所有项目。在 Xcode 7 之前,我成功地使用了 Autolayout,我会在其中选择一个标签按钮视图来排列,单击 Editor > Align > Trailing/Leading/Top Space, to.. 等等。这现在是灰色的而且我不知道如何替换我的旧策略。

每个单元格有两行项目。第一行一直显示,第二行只在折叠时显示。下面是单元格折叠时的外观图片:

第一行有点棘手,因为 outlet1 和 outlet 2 的大小是可变的。我希望“标签”紧跟在标签 1 之后,无论该出口碰巧有多长或多短。按照目前的安排,两者之间的空间是可变的。

我希望在第 1 行实现的目标基本上与 Venmo 完全一样:

注意 'paid' 如何与第一行中两个名字的大小保持一致。

第二行有两个按钮和一个始终大小相同的插座。

总而言之——我如何在 iphones4 到 6S 的 UITableView 中布局这些元素——然后如何使这个单元格成为可折叠单元格?这些细胞的构造似乎作为一个系统工作,而不是与整体隔离 - 这就是为什么这是一个两部分的问题。

【问题讨论】:

【参考方案1】:

这是您想要实现的目标吗?

【讨论】:

是的,它与您显示的内容相似,但是我希望这些单元格只显示“Ky Nguyen 回答 SamYou ... Time + Image”...如果用户单击该单元格,那么它会打开并显示点赞和评论按钮

以上是关于自定义手风琴/可折叠 UITableViewCell 的自动布局的主要内容,如果未能解决你的问题,请参考以下文章

html 手风琴可折叠部分

将打开/关闭图标添加到 Twitter Bootstrap 可折叠项(手风琴)

Bootstrap 在悬停时折叠手风琴

可折叠引导,显示第一个元素

可折叠输入表单 Swift 3

连接表并获取数据到手风琴/可折叠和表WordPress