执行时屏幕上闪烁

时间:2009-05-19 05:22:20

标签: iphone objective-c

这是我的代码,

egg[0] = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"Big_egg.png"]];
egg[0].transform = CGAffineTransformMakeScale(0.0, 0.0);
egg[0].alpha = 1;
[self addSubview:egg[0]];

我想旋转鸡蛋,同时鸡蛋的大小也在增加,我的代码是,

[ UIView beginAnimations:nil context:nil];
[ UIView setAnimationCurve: UIViewAnimationCurveLinear ] ;
[ UIView setAnimationDuration:3.0 ];    
egg[0].transform = CGAffineTransformMakeScale(1.0, 1.0);
egg[0].transform = CGAffineTransformRotate(egg[0].transform,2*M_PI/180.0);
[ UIView commitAnimations] ;

由于这个原因我在屏幕上闪烁,在执行时,我想删除它。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

看起来你有一些可能会给你带来问题的问题

首先,您没有更改比例1.0,1.0是x和y方向的比例因子1。选择一个大于或小于1的数字,我选择0.5。

其次,您要将变换设置两次。只设置一次,创建临时变量以在操作它时保持它(一个常见的Cocoa模式):

   CGAffineTransform tempTransform = CGAffineTransformScale(egg[0].transform, 0.5, 0.5);
   tempTransform = CGAffineTransformRotate(tempTransform, 2*M_PI/180.0);
   egg[0].transform = tempTransform;