【问题标题】:Animating a view created in IB using Autolayout使用 Autolayout 为 IB 中创建的视图设置动画
【发布时间】:2013-01-28 10:08:54
【问题描述】:

我有很多标签和按钮的视图,这些标签和按钮是在代码上创建的,因为在 IB 中太复杂了。这工作正常。

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

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

问题是输入视图 itef 动画正确,但它的子视图没有那么多。它们有点像一下子出现。

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

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

有人有这方面的经验吗?

提前致谢,

【问题讨论】:

    标签: ios6 core-animation autolayout nslayoutconstraint


    【解决方案1】:

    我建议您在 Apple 的开发板上发布有关此主题的信息。我最近在那里看到了几个帖子。回复的 Apple 工程师说,使用 Autolayout,您基本上可以让 autolayout 拥有视图中心、大小,有时甚至是变换的所有权。

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

    不确定以编程方式添加新视图并让它们动画到位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多