iOS 移动动画简单实现详解手机开发

[UIView animateWithDuration:0.5 animations:^{ 
            for (i = num; i > _indexOfArray+1; i--) { 
                ((UIDragButton *)[_buttonArray objectAtIndex:i]).frame = ((UIDragButton *)[_buttonArray objectAtIndex:i-1]).frame; 
            } 
            ((UIDragButton *)[_buttonArray objectAtIndex:i]).frame = _frameRect; 
        }];

在block中只需要直接赋值即可实现效果。

iOS 移动动画简单实现详解手机开发

若使用CABasicAnimation则较为复杂

定义动画

- (CABasicAnimation *)moveX:(float)time X:(NSNumber *)x  // 横向移动 
{ 
    CABasicAnimation *animation=[CABasicAnimation animationWithKeyPath:@"transform.translation.x"]; 
    animation.toValue=x; 
    animation.duration=time;                    // 动画持续时间 
    animation.removedOnCompletion=NO; 
    animation.fillMode=kCAFillModeForwards; 
    animation.delegate = self; 
    return animation; 
}

使用动画

[self.layer addAnimation:[self moveX:0.1 X:[NSNumber numberWithFloat:x]] forKey:nil];

委托需要协议<NSObject>

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3309.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论