UIView调整内容大小

时间:2016-10-11 17:33:54

标签: ios autolayout

找不到任何答案,或者我错过了什么......

在故事板上自动布局的iOS中。如果我有一个带有控件的UIView,根据用户点击的内容,子视图会调整大小。我可以以某种方式让superview调整内容大小吗?

在我的应用程序中,我有一个视图,但如果单击按钮子视图被隐藏,我希望超视图高度减少以排除隐藏视图。我可以连接高度约束并以编程方式处理它,但是自动处理它会很好....

有办法吗?

3 个答案:

答案 0 :(得分:0)

我可以假设你有一些约束将超级视图的大小与子视图的大小联系起来吗?

如果是这样,当您隐藏子视图时,您需要做的就是调整超级视图的大小,将子视图的高度约束更改为0(如果您的子视图是隐藏的,则自动布局不关心,只需要考虑到约束)。

答案 1 :(得分:0)

你可以尝试这样的事情:

您可以尝试将此代码添加到buttonAction

yourView.frame = CGRect(x: anotherView.bounds.minX, y: anotherView.bounds.min, width: anotherView.bounds.width , height: anotherView.bounds.height)

在这种情况下" yourView"将其大小更改为" anotherView"。

yourView.frame = CGRect(x: anotherView.bounds.minX, y: anotherView.bounds.min, width: anotherView.bounds.width , height: anotherView.bounds.height / 2)

此示例将高度更改为"另一个视图"帧。

希望它会对你有所帮助。

答案 2 :(得分:0)

我错过了什么..

我没有得到的结果是,如果您没有为其设置高度并且内容对视图的底部有约束,则视图将调整其内容的大小。

所以我最终将隐藏控件的高度设置为0,将底部控件约束设置为父底部。