基本动画CABasicAnimation - 完成之后闪回初始状态

https://www.cnblogs.com/panda1024/p/6260255.html

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    _showImg = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 200, 100)];
    _showImg.layer.borderWidth = 1;
    _showImg.image = [UIImage imageNamed:@"aroundFailure"];
    
    _showImg.contentMode = UIViewContentModeScaleAspectFit;
    [self.view addSubview:self.showImg];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [UIView animateWithDuration:1.0 animations:^{
        CGRect rect = CGRectMake(150, [[UIScreen mainScreen] bounds].size.height - 200, 100, 100);
        self.showImg.frame = rect;
    
        CABasicAnimation *anima = [CABasicAnimation animationWithKeyPath:@"transform.scale"];//同上
        anima.toValue = [NSNumber numberWithFloat:0.5f];
        anima.removedOnCompletion = NO;
        anima.duration = 1.0f;
        anima.fillMode = kCAFillModeForwards;
        [self.showImg.layer addAnimation:anima forKey:@"scaleAnimation"];
    }];
}

你可能感兴趣的:(基本动画CABasicAnimation - 完成之后闪回初始状态)