我是一名Android背景下的iOS新手。
在一个UIView上应用.hidden = true时,它虽然被隐藏了,但仍然占据着空间。是否有一种方法可以在视图消失时收回这个空间(类似于Android中的setVisibility(View.GONE))?
谢谢
UIStackView
自动完成此操作(类似于 Android 上的 LinearLayout
)。当您将包含在 UIStackView 中的视图设置为隐藏时,剩余的视图将移动以重新获取空间。
您可以通过在动画块中使用 view.hidden = true
来使移动过程动画化。
UIView.animateWithDuration(_:delay:options:animations:completion:)
或类似物品。view2TopConstraint.active = false
view3TopConstraint.active = false
然后在view3上添加一个顶部约束,该约束固定在view1的底部
let newView2TopConstraint = NSLayoutConstraint(item: view3, attribute: .Top, relatedBy: .Equal, toItem: view1, attribute: .Bottom, multiplier: 1.0, constant: 0.0)
newView2TopConstraint.active = true
有很多方法可以实现这一点,这只是一个例子。
没有可见性设置。但是您可以将 alpha 设置为 0。