【问题标题】:multiple uiimages in the same view同一视图中的多个 uiimage
【发布时间】:2010-08-02 13:09:24
【问题描述】:

我正在为孩子们开发一个应用程序(记忆游戏):转动两个相同的图块(图像),您可以将它们移除。问题是如何转动带有动画的uiimages,并且只转动uiimages而不转动包含它们的视图.. 我必须将每个 uiimage 放在一个小视图中吗? 有任何想法吗? PS:我没有使用 OpenGL

【问题讨论】:

    标签: iphone animation uiimageview uiimage


    【解决方案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,它为您提供更多控制和不同的过渡。

    【讨论】:

    • 感谢您的回答,但是通过对包含 uiiamges 视图的视图进行动画处理,动画将出现在所有视图上,而不仅仅是我想要的图像..
    • 对不起,如果我不清楚。您可以为有问题的 UIimageView 设置动画。创建一个填充了(例如)4x4 网格的 UIImageViews 的视图。在其中的每一个中放置您的“覆盖”图像。然后,当您想要翻转其中一个时,创建一个新的 UIImageView 并设置其框架以匹配您想要翻转的 UIImageView,然后将其添加到您的视图并执行我上面描述的转换。稍后您可以反转该过程并将原始“封面视图”动画化。为了提高效率,您将保留“图片”视图。 (我编辑了代码以显示我的意思是 secondUIImageView)
    【解决方案2】:

    您可以为每个图块使用 UIImageView。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多