我正在开发一个儿童应用程序(记忆游戏):转动两个相同的图块(图像),你可以删除它们。问题是如何用动画转动uiimages而只转动uiimages而不转动包含动画的视图。 我是否必须将每个uiimage放在一个小视图中? 有任何想法吗? PS:我没有使用OpenGL
答案 0 :(得分:1)
抱歉,第一次误读。对每个图块使用UIImageViews,然后按照下面的方式设置动画。
UIView只是一个视图,因此您可以按照为任何视图设置动画的方式为其设置动画。它相当简单。
UIImageView *tileToFlip = self.[tiles objectAtIndex:3];
CGRect frameOfTileToFlip = tileToFlip.frame;
UIImageView *newImageToShow = [[UIImageView alloc] initWithFrame:frameOfTileToFlip];
// add the image to newImageToShow
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration: 1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:newImageToShow cache:NO];
[self.View addSubview:newImageToShow]; // I'm not sure if this is necessary
[UIView commitAnimations];
[tileToFlip removeFromSuperView]; // remove it so you can add it back later
或者,您可以使用CATransition,它可以为您提供更多控制和不同的过渡。
答案 1 :(得分:0)
您可以为每个磁贴使用UIImageView。