使用自动布局约束时,在超视图高度更改时隐藏子视图

时间:2015-11-09 09:34:52

标签: ios objective-c ios-autolayout

我有一个UIView,它有很少的子视图控件,如标签和文本框。它也有一个开关控制。

我希望根据切换更改隐藏/显示(如可折叠)superview上的部分。然而,当我尝试使用superview的常量时,它只是更改超视图高度,但所有子视图都没有隐藏。

你可以帮我解决这个问题。

谢谢,

2 个答案:

答案 0 :(得分:15)

设置UIView的属性clipsToBounds = true。 这可以防止在帧的超出范围

的范围之外绘制子视图

e.g。

superView.clipsToBounds = true

请注意,对于您可以使用的图层:

superView.layer.masksToBounds = true

答案 1 :(得分:-1)

UIView有许多方法可以修改视图层次结构。

bringSubviewToFront:
sendSubviewToBack:
insertSubview:atIndex:
insertSubview:aboveSubview:
insertSubview:belowSubview:
exchangeSubviewAtIndex:withSubviewAtIndex:

您可以根据自己的要求使用其中任何一项。