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



我有一个UIImageView对象,只要触摸UIButton,它就会在屏幕上打开和关闭,我通过更改它的NSLayoutConstraints来实现这一点。我已经使用以下代码成功地动画化了"运动":

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

其中addY是对屏幕顶部的约束,addingScreen是我的UIImageView对象。我的问题是,我有一系列受垂直间距限制的对象要添加Screen,我希望它们能随之滑动。然而,这些对象会瞬间移动到它们的最后一帧,而UIImageView会在我在代码中设置的0.5秒内缓慢跟随。如何使这些对象与UIImageView一起移动?感谢您的帮助:)

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