我遇到了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];
答案 0 :(得分:1)
根据我的经验,让图像在iphone应用程序中作为背景使用的最可靠方法是使用单独的UIImageView
来设置背景图像。然后,您可以将UIImageView设置为底层视图,并将其他视图放在其上。
在您置于其中的视图中,您将backgroundColor
设置为[UIColor clearColor]
,这将为您提供您在此处尝试执行的操作。
我在几个应用程序中成功使用了它,它比直接在UIView
背景上设置图像更可靠(我之前也尝试过)。
希望有所帮助。