コア アニメーションの使用を含むプロジェクトを開始しています。これまで、アプリのアニメーションに UIView アニメーションを使用してきました。コア アニメーションを使用して、アニメーションをより高いレベルに引き上げたいと考えています。
アニメーションの使用の概念を非常によく説明している Core Animation に関するBrad Larssonのレッスンをチェックしました。ただし、(UIView サブクラス) 独自の実装内でこれらのアニメーションを使用する適切な実装は、まったく不明です。
現時点では、スクロールビュー内に画像のサムネイル ビューを作成することができました。これは、内にビューを作成し、for-loop
これらの UIView をサブクラス化することによって行われます。drawRect
しかし、Core Animation を使用した UIView サブクラスの関数内でこれらのビューにアニメーションを実装するにはどうすればよいでしょうか。曲線で変換することを考えていました。
drawRect
これまでのところ、弧の影と画像を上にして白い四角形を描画するための私のコード:
//Draw function for displaying the seperate views/thumbnails
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect ShadowRect = CGRectMake(15,15, 130,90);
CGRect ImageRect = CGRectMake(20,20, 120,80);
//save context and add the arc calculation and apply it on the shadow
CGContextSaveGState(context);
CGMutablePathRef arcPath = createArcPathFromBottomOfRect(ShadowRect, 5.0);
CGContextAddPath(context, arcPath);
CGContextSetShadow(context, CGSizeMake(0.0, 5.0), 3.0);
CGContextFillPath(context);
CGContextRestoreGState(context);
//now we draw a white rectangle within the same frame as the shadow
CGContextSaveGState(context);
CGColorRef whiteColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0].CGColor;
CGContextSetFillColorWithColor(context, whiteColor);
CGContextFillRect(context, ShadowRect);
CGContextRestoreGState(context);
CGContextSaveGState(context);
[self.img drawInRect:ImageRect];
CGContextRestoreGState(context);
CFRelease(arcPath);
}