Как заставить вид перерисовать себя несколько раз в методе? - PullRequest
0 голосов
/ 30 марта 2011

У меня есть UIImageView, изображение которого я хочу изменить в зависимости от ввода пользователя. Например, пользователь нажимает кнопку, после чего фоновое изображение заменяется другим изображением. Программа блокируется на секунду или две, а затем новое изображение заменяется на исходное изображение. Проблема, кажется, что представление не перерисовывает себя, пока метод не вернулся, так что среднее UIImage никогда не отображается.

Как я могу переопределить это поведение, чтобы заставить UIImageView (или само представление) перерисовывать себя в середине метода?

1 Ответ

0 голосов
/ 30 марта 2011

Когда пользователь нажимает, запускаем NSTimer:

- (IBAction)btnTouched:(id)sender
{
    [NSTimer scheduledTimerWithTimeInterval:_YOUR_TIME_ 
                                     target:self
                                   selector:@selector(timerFinished:)
                                   userInfo:nil
                                    repeats:NO];
}

- (void)timerFinished:(NSTimer *)timer
{
    // Change your image
}

Он не должен блокировать вашу программу.

...