私は、2つのフレンチドア(または2つのハッチドア)がユーザーに向かって開くようなアニメーションを作成しようとしています。UIImageViewsをハッチドアのようにアニメーション化する方法
組み込みのUIViewAnimationOptionTransitionFlipFromRightトランジションを使用しようとしましたが、トランジションの起点が左端ではなくUIImageViewの中心にあるようです。基本的に私は2つのUIImageViewsを持って、それぞれの画面があります。私はUIImageViewsが画面の中央から端まで持ち上げているようにアニメーションを見たいと思います。
[UIView transitionWithView:leftView
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromRight
animations:^ { leftView.alpha = 0; }
completion:^(BOOL finished) {
[leftView removeFromSuperview];
}];
誰もこれまでのようなことをしましたか?どんな助けも素晴らしいだろう!
UPDATE:ニック・ロックウッドへ の作業コードのおかげ
leftView.layer.anchorPoint = CGPointMake(0, 0.5); // hinge around the left edge
leftView.frame = CGRectMake(0, 0, 160, 460); //reset view position
rightView.layer.anchorPoint = CGPointMake(1.0, 0.5); //hinge around the right edge
rightView.frame = CGRectMake(160, 0, 160, 460); //reset view position
[UIView animateWithDuration:0.75 animations:^{
CATransform3D leftTransform = CATransform3DIdentity;
leftTransform.m34 = -1.0f/500; //dark magic to set the 3D perspective
leftTransform = CATransform3DRotate(leftTransform, -M_PI_2, 0, 1, 0);
leftView.layer.transform = leftTransform;
CATransform3D rightTransform = CATransform3DIdentity;
rightTransform.m34 = -1.0f/500; //dark magic to set the 3D perspective
rightTransform = CATransform3DRotate(rightTransform, M_PI_2, 0, 1, 0);
rightView.layer.transform = rightTransform;
}];
注:あなたが作るために左と右のドアの回転にマイナス記号を入れ替えることができますドアが内側に開きます。 –