可折叠input格式Swift 3

我真的很失望,这就是为什么我问这个问题,我发现折叠式的TableView的在线教程,但他们是用一个string或类似的东西填充单元格。

我想用Swift 3制作这样的手风琴,

在这里输入图像说明

有几天我已经用UITableViewController尝试了很多东西,因为显然这是唯一可以折叠的东西,如果你想要不同的单元格的话。

无论如何,我开始这样做,但因为我在这里问我的问题,我不能在每个Section每个Cell中显示不同的UI

我相信有办法做到这一点,任何人有任何build议如何使这项工作?

我想也许有另一种方式来做到这一点(例如与ScrollView或什么的)

以下是如何使用UIStackView实现它:

  1. 通过故事板添加一个垂直的UIStackView
  2. 添加一个UIButton作为UIStackView的第一UIStackView视图
  3. UIStackView添加一些UILabel作为第二,第三…子视图
  4. UIButton添加一个IBAction (第一个子视图)

像这样实现IBAction

 @IBAction func sectionHeaderTapped(sender: UIButton) { guard let stackView = sender.superview as? UIStackView else { return } guard stackView.arrangedSubviews.count > 1 else { return } let sectionIsCollapsed = stackView.arrangedSubviews[1].hidden UIView.animateWithDuration(0.25) { for i in 1..<stackView.arrangedSubviews.count { stackView.arrangedSubviews[i].hidden = !sectionIsCollapsed } } } 

像这样创build多个UIStackView (你可以总是对UIButton使用相同的IBAction ),并将它们全部embedded父级(垂直) UIStackView以创build一个类似于截图的视图。

随意问,如果有什么不清楚。

结果:

结果