【问题标题】:UIView surface custom transformation/animation (like 'a water drop effect')UIView 表面自定义转换/动画(如“水滴效果”)
【发布时间】:2013-07-29 15:52:06
【问题描述】:

视图表面(类似于所附图像)上实现自定义转换(+动画)的方法是什么(不是 em> 只是视图边界)。

问题主要在于这样做的一般方法是什么(不完全是“水滴效应”,但肯定会赞赏任何示例)。我想,这是图层布局“网格”的一些“算法”转换,但不确定用哪种方式“挖掘”它。

(另一个想法是使用一些框架可以实现,但是,我仍然需要了解核心逻辑)。

更新:

最近从以下答案之一中找到了适合动画爱好者的非常好的资源:@​​987654321@。

【问题讨论】:

    标签: ios objective-c animation transformation


    【解决方案1】:

    阅读 Bartosz Ciechanowski 的这篇出色的博文:

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

    总结一下:Apple 使用私有 API 围绕一个名为“CAMeshTransform”的类执行此操作。

    作者提出了一个自写的替代品:

    https://github.com/Ciechan/BCMeshTransformView

    真的很神奇!

    【讨论】:

    • 其实,我现在正好需要一些时间来处理这些东西。但实际上听起来很神奇!无论如何,谢谢你的回答。稍后再看看。
    【解决方案2】:

    你可以用这个:

    - (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

    【讨论】:

    • 哈哈!四年,呸!好答案! )您所指的页面上有一个很好的链接:iphonedevwiki.net/index.php/UIViewAnimationState。将更新问题。谢谢!
    • 如果您可以将此作为答案,将非常感谢:D
    • 坦率地说,已经两年没有使用 iOS 了。 ) 所以,目前无法测试...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多