嗨,这里的每一个都是我的代码:
-(void) onTimer {
UIImage * image = [UIImage imageNamed:@"abouffer_03.png"];
imageView = [[UIImageView alloc] initWithImage:image];
[imageView setCenter:[self randomPointSquare]];
[[self view] addSubview:imageView];
ix=imageView.center.x;
iy=imageView.center.y;
X=(240-ix)/230;
Y=(160-iy)/230;
}
-(void)onTimer2{
imageView.center = CGPointMake(imageView.center.x + X, imageView.center.y + Y);
}
“onTimer”每4秒调用一次,“onTimer2”上有一个CADisplayLink(60fps)。
我的问题是每次调用“onTimer”时“imageView”的动画都会停止;创建一个新的“imageView”,然后使用“onTimer2”方法移动imageView,然后停止并创建另一个“imageView”......
我想要的是“imageView”的动画继续并行并行创建新的“imageView”,我该怎么办呢?对不起我的英语我是法国人:/
答案 0 :(得分:0)
您每次使用相同的imageView
对象进行分配和初始化。您需要使用不同的imageView
,例如:
-(void) onTimer {
UIImage * image = [UIImage imageNamed:@"abouffer_03.png"];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:<specify desired frame>];
imageView.image = image;
[imageView setCenter:[self randomPointSquare]];
[[self view] addSubview:imageView];
ix=imageView.center.x;
iy=imageView.center.y;
X=(240-ix)/230;
Y=(160-iy)/230;
}