установить изображение на кнопку - PullRequest
0 голосов
/ 04 мая 2010

Может ли кто-нибудь немного помочь мне с моей проблемой ниже?

Когда я вызываю функцию myFunction, изображения, которые я хочу установить для кнопок, появляются через 2 секунды одновременно, а не по одному с задержкой 0,5 секунды.

Подробнее:

  • generateNumbers - массив с четырьмя элементами NSNumber (4,1,3,2)
  • кнопки устанавливаются в UIView через IB и имеют теги (1,2,3,4)

-(IBAction) myFunction:(id) sender {
int i, value;
for (i = 0; i<[generatedNumbers count]; i++) {
    value = [[generatedNumbers objectAtIndex:i] intValue];
    UIButton *button = (UIButton *)[self.view viewWithTag:i+1];
    UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",value]];
    [button setImage:img forState:UIControlStateNormal];
    [img release];
    usleep(500000);
}   
}

1 Ответ

3 голосов
/ 04 мая 2010

Вероятно, этот метод работает в главном потоке. Поскольку он ожидает завершения при вызове usleep(), цикл выполнения никогда не достигает точки, в которой он собирается обновить пользовательский интерфейс. Попробуйте создать NSTimer и запускать отдельный метод каждые 0,5 секунды; это должно дать основному потоку достаточно времени для обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...