我真的很失望这就是我问这个问题的原因,我在网上找到了可折叠TableView的教程,但是它们是用字符串数组或类似的东西填充单元格的。
我想做一个这样的手风琴,
有几天我已经用Swift 3
做了很多尝试,因为很明显,如果你想要不同的细胞,这是唯一可以让你折叠的东西。
不管怎样,我开始做了,但正如我所要求的,我不能在每个UITableViewController
的每个UI
中显示不同的Cell
s。
我肯定有办法,有人有什么建议,如何使这项工作?
我想也许还有别的办法(比如用Section
或者别的什么)
最佳答案
下面是如何使用UIStackView
实现它的方法:
通过故事板添加垂直UIStackView
将aUIButton
添加为UIStackView
中的第一个子视图
添加一些UILabel
s作为第二,第三。。。UIStackView
中的子视图
为IBAction
添加UIButton
(第一个子视图)
像这样实现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
}
}
}
创建多个这样的
UIStackView
s(您始终可以对IBAction
使用相同的UIButton
),并将它们全部嵌入父(垂直)中以创建与屏幕截图中类似的视图。如果有什么不清楚的地方可以问。
结果:
关于ios - 可折叠输入表格Swift 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45791283/