如何动态地更改任何视图的背景颜色?
-
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量。对于这一点,是有问题的观点,你可以设置一个计时器,并改变它激发后台Ç的olor每次(你也许可以随机生成一些RGB值)。
可以使用+(的NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)秒目标:(ID)目标选择:(SEL)aSelector USERINFO:(ID)USERINFO重复:(BOOL)重复到计时器设置为一个选择器和在在那里,你可以更改视图背景...记住,UIKit的心不是线S AFE所以如果你有在另一个线程运行的定时器,你应该改变在主线程的意见背景..
不隶属于 StackOverflow