如何处理iOS UIViews的旋转和对齐

时间:2012-12-07 20:43:53

标签: ios alignment rotatetransform

在我现有的应用程序中,我有5个UIView衍生物(标签和按钮)水平放置,即0度。它们的左边都是对齐的(所以button1.frame.origin.x = button2.frame.origin.x等等。)

现在,为了更新目的,我需要将所有5个逆时针旋转9度。

我轻松实现了旋转。 但我无法调整它们的左边缘,以便它们在旋转后再次对齐。

总的来说,要求是这样的:第一个控制需要保持固定(充当枢轴点) - 其他4个需要向右移动以便在旋转后保持左对齐。

我尝试将增量x值添加到最后4个控件中的每一个(保持枢轴x固定),但到目前为止还没有实现精确对齐。

旋转后,看起来所有这些都是中心对齐的,而不是我想要的左对齐。 我知道我真正想要的东西,但只是寻找一种更聪明的方式,这样就不会像现在这样丑陋。

1 个答案:

答案 0 :(得分:0)

了解布局约束。这将在很多方面帮助你。在布局约束中,概念非常简单,如

Control1.attribute = Control2.attribute + C

因此,您可以逐字编程每个控件属性并实现细粒度控制。然后,您可以对其进行编码,使得所有控件X与其他控件X相同,它们与另一个控件的距离相同等。

您可以有多个布局约束,系统将尝试尽可能多地满足。

但唯一的问题是这在iOS 6.0中是可行的。