Come modificare il colore di qualsiasi vista dinamico sfondo?
-
21-09-2019 - |
Domanda
Come modificare il colore di una visione dinamica di fondo? Faccio a impostare un timer e assegnare la proprietà colore di sfondo della vista per cambiare in un ciclo?
Come per ottenere questa funzionalità?
Soluzione
Da qualche parte nel codice (viewDidAppear è un buon posto)
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5 // seconds
target:self
selector:@selector(changeBackground:)
userInfo:nil
repeats:YES];
Un metodo nella classe:
- (void)changeBackground:(NSTimer *)timer {
if (iWantToCancelTimer) {
[timer invalidate];
}
self.view.backgroundColor = [UIColor whateverColor];
}
Questo sarà un brusco cambiamento in modo probabilmente si vuole fare un'animazione, ma questa è una questione diversa.
Altri suggerimenti
Sembra che si desidera semplicemente l'immagine per cambiare i colori di sfondo ogni x quantità di tempo. Per questo, sì, per la vista in questione è possibile impostare un timer e cambiare l'olor ogni sfondo c spara (si può forse generare casualmente alcuni valori RGB).
È possibile utilizzare + (NSTimer *) scheduledTimerWithTimeInterval: (NSTimeInterval) secondi di destinazione: (id) Selettore di destinazione: (SEL) aSelector userInfo: (id) userInfo ripete: (BOOL) ripete per impostare un timer per un selettore e in lì è possibile modificare lo sfondo vista ... tenere a mente che UIKit afe filo isnt s quindi se avete il timer in esecuzione in un altro thread si dovrebbe cambiare la vista di fondo sul thread principale ..