如何在swift中展开视图

如何在swift中展开视图,swift,view,expandable,Swift,View,Expandable,我是斯威夫特的新手。在android中,我使用片段从父视图中添加或删除子视图。我希望在将开关切换为on时展开视图,并在将开关切换为off时折叠视图。同时,我设计中的所有其他元素都必须向下或向上移动 我不想使用可扩展表视图 下面是开关关闭时的布局 以下是开关打开时的布局: 我不知道怎么做,请帮帮我 我将集合视图的高度更改为0,但视图下其他视图的位置不变 UIView.animateWithDuration(0.3, delay: 0.0, options:UIViewAnimationOpti

我是斯威夫特的新手。在android中,我使用片段从父视图中添加或删除子视图。我希望在将开关切换为on时展开视图,并在将开关切换为off时折叠视图。同时,我设计中的所有其他元素都必须向下或向上移动

我不想使用可扩展表视图

下面是开关关闭时的布局

以下是开关打开时的布局:

我不知道怎么做,请帮帮我

我将集合视图的高度更改为0,但视图下其他视图的位置不变

UIView.animateWithDuration(0.3, delay: 0.0, options:UIViewAnimationOptions.TransitionNone, animations: { () -> Void in

        if(!self.temp)
        {
            self.collection_seat.frame.size.height = 0
            self.temp = true
        }
        else
        {

            self.collection_seat.frame.size.height = 128

            self.temp = false
        }
        }, completion: { (finished: Bool) -> Void in

    })

使要打开的视图位于视图内部,并像打开一样使用自动布局约束。完成后,将包含视图的高度约束设置为0。当开关打开时,将“高度”约束扩展到其应为的大小

最好将内容保留在表视图中。请参考此示例。维护plist文件以展开和折叠


我使用这种方式,但是开关下的其他视图仍然在那里,它没有运行,它们是否正确地自动约束到上面的视图?你能给我们看看你所做的一些代码/截图吗?我已经编辑了我的帖子并添加了一些代码。当height=0:和expand:constraint时,将框架高度设置为零,而不是高度约束。更改视图框架将打破其上的约束为高度约束创建IBOutlet。在设置frame.size.height=0的地方,改为更改IBOutlets.constant=0。问题是
,我不想使用可扩展表视图。