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à?

È stato utile?

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 ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top