可折叠input格式Swift 3
我真的很失望,这就是为什么我问这个问题,我发现折叠式的TableView的在线教程,但他们是用一个string或类似的东西填充单元格。
我想用Swift 3
制作这样的手风琴,
有几天我已经用UITableViewController
尝试了很多东西,因为显然这是唯一可以折叠的东西,如果你想要不同的单元格的话。
无论如何,我开始这样做,但因为我在这里问我的问题,我不能在每个Section
每个Cell
中显示不同的UI
。
我相信有办法做到这一点,任何人有任何build议如何使这项工作?
我想也许有另一种方式来做到这一点(例如与ScrollView
或什么的)
以下是如何使用UIStackView
实现它:
- 通过故事板添加一个垂直的
UIStackView
- 添加一个
UIButton
作为UIStackView
的第一UIStackView
视图 - 在
UIStackView
添加一些UILabel
作为第二,第三…子视图 - 为
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一个类似于截图的视图。
随意问,如果有什么不清楚。
结果: