0

didSelectRowAtIndexPathで、選択した行をリロードし、選択したテーブルビュー セルを展開できるように変更しheightForRowAtIndexPathています。これはうまくいっています。そのため、リロードの拡大が完了するとすぐに、UIImageView の後ろにある UIView をアニメーション化する必要があります。

アニメーションは、imageView の背後から来るようなもので、画像から明らかになるような特定の位置で停止する必要があります。それは単純であるべきですか?y 原点を変更し、そのアニメーション ブロックで実行します。

しかし問題は、単純な UIView beginAnimations コードでまったくアニメーション化されていないことです。UIViewのレイヤーに適用するCAKeyframeAnimationを使えば可能だと思います。

レイヤーで遊んだことはありません。誰でも私を案内できますか?

ありがとう

4

1 に答える 1

1

あなたはこのようなことを試すことができます:

CABasicAnimation *myViewAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
[myViewAnimation setFromValue:[NSValue valueWithCGPoint:CGPointMake(INITIAL_X,INITIAL_Y)]];
[myViewAnimation setToValue:[NSValue valueWithCGPoint:CGPointMake(FINAL_X,FINAL_Y)]];
[myViewAnimation setDuration:0.5];
[myView.layer setPosition:CGPointMake(FINAL_X,FINAL_Y)];
[myView.layer addAnimation:myViewAnimation forKey:@"position"];

QuartzCoreフレームワークをプロジェクトにリンクしてインポートする必要があります(#import <QuartzCore/QuartzCore.h>

于 2012-10-24T19:52:13.397 に答える