【发布时间】:2013-05-05 23:21:16
【问题描述】:
我是第一次使用 iOS 6 自动布局,我正在尝试弄清楚如何混合使用自动布局和动画。
我有一个容器视图 ViewA,它有一定的高度。我有一个UIDatePicker ViewB,它有216 高,并且有一个约束将ViewA 和ViewB 之间的垂直空间设置为0,因此ViewB 基本上固定在ViewA 的底部。
我想为 ViewA 的高度设置动画以使其更小,并让 ViewB 始终保持固定在 ViewA 的底部。
[UIView animateWithDuration:2.0 animations:^{
CGRect containerFrame = self.tableContainerView.frame;
containerFrame.size.height -= self.datePicker.frame.size.height;
self.tableContainerView.frame = containerFrame;
} completion:^(BOOL finished) {
NSLog(@"Done");
}];
ViewA(容器视图)确实按预期变短了,但 ViewB 并没有跟上。
如何获得 ViewA 和 ViewB 之间的约束以在动画期间自动调整 ViewB 的位置?
【问题讨论】:
-
你可能会发现我的书中关于动画和自动布局的讨论很有用。基本上它们相互冲突——在我看来,这是自动布局的一个巨大缺点。好像自动布局的人在创建 iOS 6 时忘记咨询动画人。这是本书该部分的链接:apeth.com/iOSBook/ch17.html#_animation_and_autolayout
标签: ios ios6 core-animation autolayout