在视图表面上实施自定义转换(+动画)的方法是什么(类似于附加的图片)( 不 只是 视图边界 )。
问题主要在于一般方式这样做(不完全是'水滴效应',但任何例子肯定会受到赞赏)。我猜,这是图层布局“网格”的一些“algorythmic”转换,但不确定以哪种方式“挖掘”它。
(另一个想法是可能通过使用一些框架来实现,但是,我仍然需要理解核心逻辑)。
更新
最近从其中一个答案中找到了动画爱好者非常好的资源:iPhone Development Wiki。
答案 0 :(得分:5)
阅读Bartosz Ciechanowski撰写的这篇优秀博客文章:
http://ciechanowski.me/blog/2014/05/14/mesh-transforms/
总结一下:Apple使用名为“CAMeshTransform”的类围绕私有API执行此操作。
作者提出了一个自编的替代品:
https://github.com/Ciechan/BCMeshTransformView
实际上真是太神奇了!
答案 1 :(得分:1)
您可以使用:
- (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];
}
积分转到here。