Вопрос

Как изменить цвет фона динамически? Установить ли я таймер и назначить свой свойство цвета фона представления, чтобы измениться в цикле?

Как достичь этой функции?

Это было полезно?

Решение

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

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];
}

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

Другие советы

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

Вы можете использовать + (nstimer *) PredicledTimerWithTimeInterval: (nstimeInterval) Секунды Цель: (ID) Селектор целевого Измените фон просмотра ... Имейте в виду, что uikit не является потоком, поэтому, если у вас есть таймер, работающий в другом потоке, вы должны изменить фон представлений на основном потоке ..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top