当使用自动布局约束时,当父视图高度改变时隐藏子视图。

3
我有一个UIView,它包含了几个子控件,如标签和文本框。 它还有一个开关控件。
我想根据开关的变化来隐藏/显示(类似可折叠)父视图的某部分。 但是当我尝试使用superview的常量来实现时,仅改变了superview的高度,而所有子视图并未被隐藏。
你能帮我找出原因吗?
谢谢,

你能否发布你隐藏代码的相关部分? - Imran
2个回答

15

将 UIView 的属性 clipsToBounds 设置为 true。 这可以防止子视图在其框架超出父视图边界时被绘制。

例如:

设置 UIView 的 clipsToBounds 属性为 true。

当子视图框架超出父视图边界时,此设置可以防止这些子视图被绘制。

superView.clipsToBounds = true
请注意,对于图层,您可以使用以下内容:

superView.layer.masksToBounds = true

-1

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

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

您可以根据需求使用其中任何一种。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接