动画NSLayoutConstraints更改(以及对已更改的对象具有约束的对象)

时间:2013-08-06 14:31:05

标签: iphone ios uiview autolayout nslayoutconstraint

我有一个UIImageView对象,只需触摸UIButton即可开启和关闭屏幕,我正在通过更改它NSLayoutConstraints来实现这一目标。我已成功使用以下代码为“运动”制作动画:

    self.addY.constant = 44.0f;
    [self.addingScreen setNeedsUpdateConstraints];
    [UIView animateWithDuration:0.50f animations:^{
        [self.addingScreen layoutIfNeeded];
    }];

其中addY是屏幕顶部的约束,而adsScreen是我的UIImageView对象。我的问题是我有一系列对垂直间距约束的对象添加屏幕,我希望它们随之滑动。发生了什么,是这些对象瞬间移动到最后一帧,而UIImageView在我在代码中设置的0.5秒内慢慢跟随。如何让这些对象与UIImageView一起移动?感谢您的帮助:)

1 个答案:

答案 0 :(得分:4)

我猜您应该将layoutIfNeeded也调用到您想要移动的其他视图。例如,尝试在animateWithDuration块中调用[self.view layoutIfNeeded]