是的,我知道这是很多问题中的一个问题,但我仍然无法让它发挥作用。
我的函数移动视图上的所有子视图。
这是它的样子:
- (void)moveTo:(NSInteger)side
{
CABasicAnimation *animation = [CABasicAnimation animation];
animation.duration = 0.8f;
animation.autoreverses = NO;
animation.removedOnCompletion = NO;
animation.fromValue = [NSNumber numberWithFloat:0];
switch (side)
{
case kMovementSideDown: animation.toValue = [NSNumber numberWithFloat:568]; break;
case kMovementSideUp: animation.toValue = [NSNumber numberWithFloat:-568]; break;
}
for (UIView *view in [self.view subviews])
{
[[view layer] addAnimation:animation forKey:@"transform.translation.y"];
}
}
而且我知道这会将所有项目移到 4 英寸屏幕上,这是我想要的。
但是在它把物品移到外面之后,尽管我设置了removedOnCompletion = 0
标志,它们还是“跳”回了里面。我也尝试过覆盖委托方法并在完成后手动设置位置,但没有运气。
任何想法我做错了什么?