Ios 可折叠输入表单Swift 3
我真的很失望,这就是我问这个问题的原因,我在网上找到了可折叠TableView的教程,但它们是用字符串数组或类似的东西填充单元格 我想用Ios 可折叠输入表单Swift 3,ios,swift,swift3,Ios,Swift,Swift3,我真的很失望,这就是我问这个问题的原因,我在网上找到了可折叠TableView的教程,但它们是用字符串数组或类似的东西填充单元格 我想用swift3制作一个这样的手风琴 几天来,我已经用UITableViewController尝试了很多东西,因为显然,如果需要不同的单元格,这是唯一可以使其可折叠的东西 无论如何,我开始这样做,但正如我所要求的,我不能在每个部分的单元格中显示不同的UIs 我相信有办法做到这一点,有人有什么建议如何使这项工作 我想可能还有另一种方法(例如使用ScrollView
swift3
制作一个这样的手风琴
几天来,我已经用UITableViewController
尝试了很多东西,因为显然,如果需要不同的单元格,这是唯一可以使其可折叠的东西
无论如何,我开始这样做,但正如我所要求的,我不能在每个部分的单元格中显示不同的UI
s
我相信有办法做到这一点,有人有什么建议如何使这项工作
我想可能还有另一种方法(例如使用ScrollView
或其他东西)下面是如何使用UIStackView
实现它的:
通过故事板添加垂直视图
添加一个ui按钮
作为UIStackView
添加一些UILabel
s作为第二个、第三个。。。UIStackView中的子视图
为ui按钮添加iAction
(第一个子视图)
执行iAction
,如下所示:
@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
}
}
}
@iAction func sectionHeaderTapped(发送方:UIButton){
guard let stackView=sender.superview as?UIStackView else{return}
guard stackView.arrangedSubviews.count>1 else{return}
让sectionIsCollapsed=stackView.arrangedSubviews[1]。隐藏
UIView.animateWithDuration(0.25){
因为我在1.你试过查看吗?@AndréSlotta不,我从来没用过,我会用谷歌搜索它now@AndréSlotta我以前确实使用过它们,但我从他们那里知道的唯一用法是在一个UI中放置一些UI,以使其易于进行约束。但是它如何帮助我进行上述操作呢?您可以放置一个UI按钮
作为垂直视图的第一个元素(展开/折叠节)然后为单击的其余元素设置隐藏的属性。@Abed Naseri此链接将解决您的问题,并让您知道该怎么做-:。这不是在swift3中,但您肯定可以在堆栈上找到一个,我在堆栈上发布了完整的解决方案-:非常有趣的方法,我非常喜欢它,因为我不需要这样做浏览一下表格视图和单元格的复杂性。非常感谢。只是一个小问题:我有大约10个这样的StackView,使用什么最好?ScrollView?如果是,请告诉我如果你知道怎么做?使用UITableView
其实也很简单。使用UITableViewController
这有一些很好的优点,例如,自动处理键盘。@AbedNaseri是的,一个UIScrollView
是一种方法。只需将您的外部(父级)UIStackView
嵌入一个UIScrollView
并设置特定的约束即可。