проблема обновления uiimageview из метода NSTimer - PullRequest
0 голосов
/ 13 ноября 2010

У меня проблемы с обновлением образа UIImageView из метода, который вызывается из NSTimer.Он работает в методе viewDidLoad, где я делаю что-то вроде [imageView setImage:[self getNextImage]];

, позже я делаю

NSTimer* readTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(readSource:) userInfo:nil repeats:NO];

[readTimer fire];

, чтоработает и метод readSource вызывается.Там я поместил этот код:

UIImageView* tempImageView = (UIImageView*)[containerView viewWithTag:nextDefragSourcePosition ];

, который возвращает именно то изображение, которое я хочу получить - но следующая строка не меняет изображение UIImageView

[tempImageView setImage:dataBeingReadImage];

Есть идеи?Заранее спасибо.Хайко

1 Ответ

0 голосов
/ 13 ноября 2010

Вы знаете, что вы обновляете графический интерфейс из потока, отличного от того, где создается UIImageView? Вы можете выполнить селекторы в главном потоке, чтобы обойти эту проблему.

Достаточно взглянуть на метод executeSelectorOnMainThread. Просто вызовите его из метода, который вызывается при срабатывании NSTimer (readSource :), и предоставьте ему изображение, которое вы хотите отобразить. Затем просто обновите UIImageView из селектора TH (не readSource), и он ДОЛЖЕН работать.

На самом деле не так уж много кода для меня.

...