[英]How to change the background color of any view dynamically?
如何动态更改视图的背景色? 是否设置计时器并分配视图的背景颜色属性以循环更改?
如何实现此功能?
在代码中的某个位置(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时间更改背景颜色。 为此,可以为该视图设置一个计时器,并在每次触发时更改背景色(您可以随机生成一些RGB值)。
您可以使用+(NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds目标:(id)目标选择器:(SEL)aSelector userInfo:(id)userInfo重复:(BOOL)重复将计时器设置为选择器,您可以在其中设置计时器更改视图背景...请记住,UIKit不是线程安全的,因此,如果您在另一个线程中运行计时器,则应在主线程上更改视图背景。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.