使用Autolayout动画在IB中创建的视图

时间:2013-01-28 10:08:54

标签: ios6 core-animation autolayout nslayoutconstraint

我有一个带有很多标签和按钮的视图,这些标签和按钮是在代码上创建的,因为在IB中太复杂了。这没问题。

在IB中我还创建了一个输入视图,我希望通过点击按钮从底部显示。如果你愿意,非常像键盘。因为这个输入视图是向前的,它已经在IB上创建,它包含滑块,标签等。我没有将它添加为IB上的self.view的子视图。

通过点击按钮,我为输入视图设置了所有约束:我设置了宽度,我将它设置在self.view的底部,垂直尺寸,然后我删除了这个约束,我添加了实际的高度,然后我用[self.view layoutIfNeeded]动画。

问题是输入视图itsef正确动画,但它的子视图不是那么多。他们有点出现。

我尝试过以编程方式添加输入视图,只有一个开关。它的动画效果非常好。

我猜测控件和它们的superView之间存在约束问题。但我不确定它,因为虽然它们没有正确动画,但它们位于正确的位置且具有正确的比例。我想我在这里遗漏了一些东西。也许将IB集合控件和视图混合并以编程方式修改它们并不是一个好主意?

有人有经验吗?

提前致谢,

1 个答案:

答案 0 :(得分:0)

我建议你在这个主题上发布给Apple的开发板。我最近看过几个帖子。回复的Apple工程师表示,使用Autolayout,您基本上可以自动布局视图的中心,大小,有时甚至是变换。

要为使用autolayout的视图设置动画,您应该显然使用UIView块动画并在视图上设置约束设置的动画。然后,系统将为您所做的更改设置动画。

不确定是否以编程方式添加新视图并将其设置为动画。