2009-10-14 2 views

ответ

1

Где-то в вашем коде (viewDidAppear хорошее место)

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5 // seconds 
                target:self 
               selector:@selector(changeBackground:) 
               userInfo:nil 
               repeats:YES]; 

метод в классе:

- (void)changeBackground:(NSTimer *)timer { 

    if (iWantToCancelTimer) { 
     [timer invalidate]; 
    } 

    self.view.backgroundColor = [UIColor whateverColor]; 
} 

Это будет резкое изменение, поэтому вы, вероятно, захотите сделать анимацию, но это другой вопрос.

0

Похоже, вы просто хотите, чтобы ваше изображение меняло цвет фона каждые x раз. Для этого да для рассматриваемого вида вы можете установить таймер вверх и сменить фон c olor каждый раз, когда он срабатывает (вы можете случайно генерировать некоторые значения RGB).

Вы можете использовать + (NSTimer *) scheduleTimerWithTimeInterval: (NSTimeInterval) seconds target: (id) target selector: (SEL) aSelector userInfo: (id) userInfo повторяет: (BOOL) повторяет установку таймера на селектор и там вы можете изменить фон представления ... имейте в виду, что UIKit isnt thread s afe, поэтому, если у вас есть таймер, запущенный в другом потоке, вы должны изменить фон представлений в основной теме.

Смежные вопросы