AutoLayout如果父视图的高度如果保持子视图的父视图的高度

问题描述:

我有一个父视图,最初它有250的高度,在该视图的底部我有一个标签有底部和左限制,我想在总是这个蓝色视图的底部始终保持这个标签,但是当在代码中我改变的蓝视的高度,标签不坚持的观点底部AutoLayout如果父视图的高度如果保持子视图的父视图的高度

Image View Controller

我改变高度用以下代码

greyView.frame.size.height = greyView.frame.size.height + 200; 

如何保持蓝色视图底部的标签,即使是蓝色视图的高度变化?

我试图重新添加标签底部一定值而不会去底部

@IBAction func buttonClicked(sender: UIButton) { 

    greyView.frame.size.height = greyView.frame.size.height + 200; 

    bottomMargin.constant = 0; 

} 

我加入下列约束到标签

Label contraints

我没有任何在故事板中的问题,如果我改变故事板标签中的蓝色视图的高度来到底部,但是当我改变代码标签的高度不会降至底部

它显示了这样的.. enter image description here

+0

为约束创建出口并更改它们,以便它们都粘在一起。 – Harsh

+0

@harsh你可以解释一下如何更改约束,当我改变标签底部和正确约束的高度时,我必须再次添加所有约束 –

+0

在更新约束的值之后,您应该调用'updateConstraintsIfNeeded()' 。 – 0yeoj

尝试设置这些限制:

enter image description here

右侧和底部锚定于母公司及体重和身高是你的,重要的是底部和正确。

,因为它只是一个例子

有很多的方法可以做到这一点,你可以忽略我的价值观。我不建议以编程方式更改标签视图的高度。将高度约束设置为按钮> =,直到它第一次绘制时的当前量。 这样,当你改变蓝色视图的高度时,它会展开。你有什么其他的限制吗?

你现在问题是,按钮的约束是保持特定大小的视图。

编辑#1 所以我误解了你的问题。我自己尝试过,并没有足够的时间使用约束来提出一个好的解决方案。我禁用了约束,只是使用自动调整大小的掩码并将其设置到底部并且它正在移动(请参见截图)。限制在这里做一些棘手的事情。当我回家时,我试图让你更好的解决方案。 Autoresizing

+0

随着更新的屏幕截图..你是设置标签中超级视图的底部约束。将其设置为按钮。或者将垂直间距设置为0。 – afanaian

+0

我不想将标签对齐按钮的底部,我想将它对齐到蓝色视图的底部,我只放置了按钮来更改蓝色视图的高度。 –