UIViews与背景图像的动画?

时间:2009-07-17 16:47:15

标签: iphone uiview core-animation

我遇到了UIView的问题,当使用纯色作为背景时,动画效果非常好。

但是,当我为其颜色设置背景图像时,UIView动画无法正常工作。它看起来像页面卷曲的鬼轮廓,但UIView本身是100%透明的(如果这是有道理的)。

图像的背景颜色是预先设置的(这会搞砸动画):

UIImage *loadedImage = [UIImage imageNamed:@"MyTexture.png"];
UIColor *tempColour = [[UIColor alloc] initWithPatternImage:loadedImage];
[myUIView setBackgroundColor:tempColour];
[tempColour release];

然后将背景颜色设置为实体,让动画正常工作:

[myUIView setBackgroundColor:[UIColor blackColor]];

我正在使用的动画:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];      
[UIView setAnimationTransition:UIViewAnimationCurveLinear forView:myUIView cache:YES];
[myUIView setHidden:YES];
[UIView commitAnimations];

1 个答案:

答案 0 :(得分:1)

根据我的经验,让图像在iphone应用程序中作为背景使用的最可靠方法是使用单独的UIImageView来设置背景图像。然后,您可以将UIImageView设置为底层视图,并将其他视图放在其上。

在您置于其中的视图中,您将backgroundColor设置为[UIColor clearColor],这将为您提供您在此处尝试执行的操作。

我在几个应用程序中成功使用了它,它比直接在UIView背景上设置图像更可靠(我之前也尝试过)。

希望有所帮助。