图像按钮不改变
问题描述:
我试图改变25个按钮的图像与更改之间的延迟时间,它不起作用。图像按钮不改变
的代码是:
do {
if (Anterior > -1) {
[[BtnArray objectAtIndex(Anterior)] setImage:Nil];
}
[[BtnArray objectAtIndex:(Gira[J])]
setImage:[NSImage imageNamed:@"Encen.png"]];
Anterior = Gira[J];
Delay(Espera,&junk);
++J;
} while (J<25);
答
没有测试过,但你可以尝试这样的事:
float delay = .2;
for (UIButton *btn in btnArray) {
[btn performSelector:@selector(setImage:) withObject:[UIImage imageNamed:@"Encen.png"] afterDelay:delay];
delay += .2;
}
还是在呼吁BTN的地方有自己的功能
float delay = .2;
for (UIButton *btn in btnArray) {
[self performSelector:@selector(changeImageForButton:) withObject:btn afterDelay:delay];
delay += .2;
}
那么在那个功能呢:
[btn setImage:[UIImage imageNamed:@"Encen.png"] forState:UIControlStateNormal];
什么是'前','Gira','延迟()','埃斯佩拉','垃圾'? “它不工作”是不够的。什么不工作? – sidyll
究竟什么不行?延迟或图像变化? Delay()函数如何实现? –
如果您的'Delay()'只是对'sleep'的调用,它将不起作用。 'sleep'被阻塞,并且UI必须等待整个'do {} while()'循环在更新之前终止。 – Cyrille