CCLayer上の [[CCDirector sharedDirector ]view]にサブビューとして tableView を追加しました。次に、次のコードを使用してCCLayerとtableViewを個別にアニメーション化しました。
このコードはCCLayer を左右に移動します。
-(void)moveHomeScreenLayerWithIsAnimated:(BOOL)_isAnimationRight{
if (!_isAnimationRight) {
[mHomeLayer runAction:[CCSequence actionOne:[CCDelayTime actionWithDuration:0.0f] two:[CCMoveTo actionWithDuration:0.4f position:ccp((size.width/4)*3, 0)]]];
}
else{
[mHomeLayer runAction:[CCSequence actionOne:[CCDelayTime actionWithDuration:0.0f] two:[CCMoveTo actionWithDuration:0.4f position:ccp(0, 0)]]];
}
}
そしてtableViewのアニメーションの場合:
-(void)ViewAnimationRight{
[UIView cancelPreviousPerformRequestsWithTarget:self];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.4f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
tableViewHome.frame = CGRectMake(size.width - size.width/4,topBar.contentSize.height, size.width, size.height);
[tableViewHome setScrollEnabled:NO];
[UIView commitAnimations ];
}
-(void)ViewAnimationLeft{
[UIView cancelPreviousPerformRequestsWithTarget:self];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.4f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
tableViewHome.frame = CGRectMake(0, topBar.contentSize.height, size.width, size.height);
[tableViewHome setScrollEnabled:YES];
[UIView commitAnimations ];
}
CCLayer と tableView の両方がアニメーション化されますが、それらのアニメーションは同期されません。アニメーションの継続時間は一致しません。他の方法はありますか?みんなの助けに感謝します。