質問

ビューの背景色を動的に変更する方法は?タイマーを設定して、ループで変更するためにビューの背景色プロパティを割り当てますか?

この機能を達成する方法は?

役に立ちましたか?

解決

あなたのコードのどこかに(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];
}

これは突然の変化になるので、おそらくアニメーションを作りたいと思うでしょうが、これは別の質問です。

他のヒント

x時間ごとに背景色を変更したいだけです。そのために、はい、問題のビューについては、火災が発生するたびにタイマーを設定してバックグラウンドC olorを変更できます(RGB値をランダムに生成することができます)。

+(nstimer *)scheduledtimerwithtimeinterval:(nstimeinterval)秒ターゲット:(id)ターゲットセレクター:( sel)aselector userinfo :( id)userinfo repeats :( bool)セレクターにタイマーを設定し、そこで繰り返します。ビューの背景を変更します... UikitはスレッドのAFEではないことに留意してください。そのため、別のスレッドでタイマーが実行されている場合は、メインスレッドのビューの背景を変更する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top