7

ビュー サーフェスにカスタム変換(+ アニメーション)を実装する方法は何ですか(添付の画像に似ています) (ビュー境界だけではありません)。

問題は主に、それを行うための一般的な方法です(正確には「水滴効果」ではありませんが、例を挙げていただければ幸いです)。私は、それはレイヤーレイアウト「グリッド」の「アルゴリズム」変換だと思いますが、それを「掘り下げる」方法がわかりません。

(別の考えでは、いくつかのフレームワークを使用して達成できる可能性がありますが、それでもコアロジックを理解する必要があります)。

アップデート:

最近、アニメーション愛好家のための非常に優れたリソースが、iPhone Development Wikiという回答の 1 つから見つかりました。

変身サンプル1 変身サンプル2

4

2 に答える 2

6

Bartosz Ciechanowski によるこの優れたブログ投稿をお読みください。

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

まとめると、Apple は「CAMeshTransform」と呼ばれるクラスのプライベート API を使用してこれを行います。

著者は、自作の代替案を提案しています。

https://github.com/Ciechan/BCMeshTransformView

それは実際にはかなり素晴らしいです!

于 2014-05-17T21:35:21.577 に答える
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];
}

クレジットはここまで。

于 2017-03-22T07:36:36.893 に答える