可折叠输入形式Swift 3

时间:2017-08-21 07:16:13

标签: ios swift swift3

我真的很失望,这就是我问这个问题的原因,我在网上找到了可折叠TableView的教程,但他们用一些字符串或类似的东西来填充单元格。

我想用Swift 3

制作这样的手风琴

enter image description here

有些日子我已经用UITableViewController尝试了很多东西,因为很明显,如果你想要不同的细胞,那么你唯一可以折叠的东西。

无论如何,我开始这么做了,但在我问my question here时,我无法在每个UI的每个Cell中显示不同的Section

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

我想也许还有另一种方法(例如ScrollView或其他)

1 个答案:

答案 0 :(得分:0)

以下是使用UIStackView实现它的方法:

  1. 通过故事板添加垂直UIStackView
  2. UIButton
  3. 中添加UIStackView作为第一个子视图
  4. UILabel
  5. 中添加一些UIStackView作为第二,第三...子视图
  6. IBAction(第一个子视图)
  7. 添加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(您可以始终对IBAction使用相同的UIButton)并将所有这些UIStackView嵌入到父级(垂直){{1}}中创建一个类似截图的视图。

    随意询问是否有任何不清楚的地方。

    结果:

    result