ビューの背景色を動的に変更する方法は?
-
21-09-2019 - |
質問
ビューの背景色を動的に変更する方法は?タイマーを設定して、ループで変更するためにビューの背景色プロパティを割り当てますか?
この機能を達成する方法は?
解決
あなたのコードのどこかに(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ではないことに留意してください。そのため、別のスレッドでタイマーが実行されている場合は、メインスレッドのビューの背景を変更する必要があります。
所属していません StackOverflow