UIView surface custom transformation/animation (like 'a water drop effect')

后端 未结 2 1170
余生分开走
余生分开走 2021-02-09 16:21

What is the way to implement custom transformation (+ animation) on a view surface (similar to the images attached) (not

相关标签:
2条回答
  • 2021-02-09 16:43

    Read this excellent blog post by Bartosz Ciechanowski:

    http://ciechanowski.me/blog/2014/05/14/mesh-transforms/

    To wrap it up: Apple does this with private API around a class called 'CAMeshTransform'.

    The author proposes an self-written substitute:

    https://github.com/Ciechan/BCMeshTransformView

    It's pretty amazing actually!

    0 讨论(0)
  • 2021-02-09 17:00

    You can use this:

    - (void)drawWaterRippleAnimation {
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(200, 200, 100, 100)];
        view.backgroundColor = [UIColor blueColor];
    
        CATransition *animation=[CATransition animation];
        [animation setDelegate:self];
        [animation setDuration:1.75];
        [animation setTimingFunction:UIViewAnimationCurveEaseInOut];
        [animation setType:@"rippleEffect"];
    
        [animation setFillMode:kCAFillModeRemoved];
        animation.endProgress=1;
        [animation setRemovedOnCompletion:NO];
        [self.view.layer addAnimation:animation forKey:nil];
    }
    

    Credits goes to here.

    0 讨论(0)
提交回复
热议问题