スクロールビューに 3 つのビューがあり、これらのサブビューにスワイプ ジェスチャを与えました。
スワイプすると、(CATransform3DMakeRotation)を使用してそのビューを回転させ、同時にスクロールビューをスクロールして、ページの折りたたみ効果を与えています。
期待どおりに動作していますが、サブビューは毎回スワイプを検出していません。
実装後
– gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
と
– gestureRecognizer:shouldReceiveTouch:
サブビューは毎回スワイプを検出していますが、スクロール アニメーションが機能しません。
ビューの回転アニメーションの最後でスクロールします (アニメーションなし)。
私が使用したコード
//Animation Code
[UIView animateWithDuration:3 animations:^(void){
CATransform3D _3Dt = CATransform3DIdentity;
_3Dt = CATransform3DConcat(CATransform3DMakeRotation(M_PI, 0.0f, 7.5f, 0.0f), CATransform3DMakeTranslation(0, 0, 0));
_3Dt.m34 = 0.0015f;
v.layer.transform = _3Dt;
//[scroll setContentOffset:CGPointMake(scroll.contentSize.width-300, 0)];
[scroll scrollRectToVisible:CGRectMake(300, 10, 300, scroll.frame.size.height) animated:NO];
} completion:^(BOOL finished){}];
and
//GestureRecognizer Delegate
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
return YES;
}
何か提案してください