【发布时间】:2010-08-02 13:09:24
【问题描述】:
我正在为孩子们开发一个应用程序(记忆游戏):转动两个相同的图块(图像),您可以将它们移除。问题是如何转动带有动画的uiimages,并且只转动uiimages而不转动包含它们的视图.. 我必须将每个 uiimage 放在一个小视图中吗? 有任何想法吗? PS:我没有使用 OpenGL
【问题讨论】:
标签: iphone animation uiimageview uiimage
我正在为孩子们开发一个应用程序(记忆游戏):转动两个相同的图块(图像),您可以将它们移除。问题是如何转动带有动画的uiimages,并且只转动uiimages而不转动包含它们的视图.. 我必须将每个 uiimage 放在一个小视图中吗? 有任何想法吗? PS:我没有使用 OpenGL
【问题讨论】:
标签: iphone animation uiimageview uiimage
抱歉,第一次看错了。为每个图块使用 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,它为您提供更多控制和不同的过渡。
【讨论】:
您可以为每个图块使用 UIImageView。
【讨论】: