【问题标题】:how can I expandable a view in swift如何快速扩展视图
【发布时间】:2016-07-14 01:39:44
【问题描述】:

我是 swift 新手。在 android 中,我使用片段从父视图中添加或删除子视图。我想在打开开关时展开视图,并在关闭开关时折叠视图。同时,我设计中的所有其他元素都必须向下或向上移动。

而且我不想使用可扩展的表格视图。

以下是开关关闭时的布局

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

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

我将集合视图的高度更改为 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

    })

【问题讨论】:

    标签: swift view expandable


    【解决方案1】:

    在视图中创建要打开的视图,并像打开时一样使用自动布局约束。然后在你完成之后,将包含视图的高度约束设为 0。当开关打开时,将高度约束扩展到它应该是的任何大小。

    【讨论】:

    • 我是这样用的,但是switch下的其他视图还在,没有跑下来
    • 它们是否正确地自动限制在上面的视图中?您能否向我们展示您所做的一些代码/屏幕截图
    • 我已经编辑了我的帖子并添加了一些代码。当高度 = 0 时:i.stack.imgur.com/lUECm.png 并展开:i.stack.imgur.com/ONC3w.png 约束 i.stack.imgur.com/SH2XV.png
    • 您将框架高度设置为零,而不是高度约束。更改视图框架将打破对它的约束
    • 为高度约束创建一个 IBOutlet。在您设置 frame.size.height = 0 的地方,改为更改 IBOutlets .constant =0
    【解决方案2】:

    最好将内容保存在表格视图中。参考这个例子。维护 plist 文件以展开和折叠。

    http://www.appcoda.com/expandable-table-view/

    【讨论】:

    • 问题说And I dont want to use Expandable table view.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    相关资源
    最近更新 更多