Как изменить цвет фона в динамически?
-
21-09-2019 - |
Вопрос
Как изменить цвет фона динамически? Установить ли я таймер и назначить свой свойство цвета фона представления, чтобы измениться в цикле?
Как достичь этой функции?
Решение
Где -то в вашем коде (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 не является потоком, поэтому, если у вас есть таймер, работающий в другом потоке, вы должны изменить фон представлений на основном потоке ..