我的UIImageViews掉落在屏幕上并在游戏中回到顶部。我在屏幕底部还有另外两个图像视图,它们的图像经常变化。当这两个底部图像发生变化时,下降的UIImageViews会在屏幕上跳转到游戏应用程序打开时的原始位置,然后再次下降。当分数标签改变时,会发生同样的事情。
我对几乎所有事情都有约束,所以我认为它可能与它有关但我不知道为什么。
非常感谢您的帮助
答案 0 :(得分:0)
好的,所以我确定你知道布局限制和NSLayoutConstraint
类。 (如果不是read this)。基本上Apple使用IB
中表示的这些类来定位和调整子视图e.t.c。
因此,您需要调整要移动的任何视图的布局约束。要为UIView设置动画,它曾经是一个更改frame属性然后让superview重绘它的子视图的情况;但是,现在您需要更改视图布局约束的constant
属性,然后在超级视图上调用layoutIfNeeded
,如下所示:
myImageViewConstraint.constant += 100;
[UIView animateWithDuration:1 animations:^{
[superview layoutIfNeeded];
}];
然后因为您更改了约束,视图不会跳转。
注意:您应该在跳过Stack Overflow之前对此进行研究,因为Apple Developer Resources中可以使用它。