Ios 视图边界更改时发生碰撞
我正在使用UIDynamicMator、UICollisionBehavior和几个移动UIImageView。 当一切正常时,看起来是这样的。画面在屏幕上移动,没有重叠 但是,在我更改了某些视图的边界后,碰撞并没有按应有的方式更新,它给了我以下信息: 碰撞不再像预期的那样起作用:视图被叠加 我正在使用以下代码更新边界:Ios 视图边界更改时发生碰撞,ios,objective-c,uikit-dynamics,Ios,Objective C,Uikit Dynamics,我正在使用UIDynamicMator、UICollisionBehavior和几个移动UIImageView。 当一切正常时,看起来是这样的。画面在屏幕上移动,没有重叠 但是,在我更改了某些视图的边界后,碰撞并没有按应有的方式更新,它给了我以下信息: 碰撞不再像预期的那样起作用:视图被叠加 我正在使用以下代码更新边界: [UIView animateWithDuration:2 delay:0 opti
[UIView animateWithDuration:2
delay:0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
CGRect newBounds = imageView.bounds;
newBounds.size.height = 500;
newBounds.size.width = 500;
imageView.bounds = newBounds;
}
completion:^(BOOL finished) {
[animator updateItemUsingCurrentState:imageView];
}];
updateTimeSingCurrentState:
函数似乎对边界更改没有影响。。。我说得对吗?我成功地将animator变量设置为nil,并再次声明它和每个链接的动画行为。
如果其他人有更好的方法,我仍在倾听。谢谢。我最终从dynamic animator中删除了所有行为,而没有取消分配并重新添加:
let behaviors = (self.dynamicAnimator.behaviors as NSArray).copy() as! [UIDynamicBehavior]
self.dynamicAnimator.removeAllBehaviors()
for behavior in behaviors {
self.dynamicAnimator.addBehavior(behavior)
}
我想我已经试过了,但没有成功。。。我会尽快再试并给你反馈。谢谢