如何相对安排UIControls

时间:2013-04-17 15:39:09

标签: objective-c uiview

我在视图中有按钮,标签等。有些元素没有高度,所以如果单击一个按钮,我想设置所需的高度。到目前为止没有问题 我希望以下元素向下滑动并安排自己新的。我尝试了FlowLayoutControllerAuto Layout Constraints,但两者都没有达到我的要求。

我看到的唯一方法是计算所有元素,并在添加或调整一个项目时以编程方式排列它们。

还有其他办法吗?

3 个答案:

答案 0 :(得分:0)

如果你想调整一个UIView的框架并使其动画,就像它们滑出/向下/任何你喜欢的一样。你可以使用一些简单的动画机制。

[UIView beginAnimations:nil context:NULL];
//[UIView setAnimationDuration:2];
//change your view's frame (height) here
[UIView commitAnimations];

这应该为你做的伎俩!祝你好运;)

答案 1 :(得分:0)

查看view autolayout possibilities,即可启用视图的自动布局。或者,您可以在'layoutSubviews'方法中自己完成。

答案 2 :(得分:0)

我在这里找到了解决方案:

Moving elements when changing UIView frame

重要的一句话是:不要将帧与自动布局结合起来,这会给你带来不可预测的结果。

所以我用IBOutlet和self.textViewHeightConstraint.constant来设置高度。

现在它的效果非常好。