用简单UI控件实现霓虹灯
2015-12-26 15:30
441 查看
用UIView,UILabel,制作霓虹灯效果
- (void)viewDidLoad {
[super viewDidLoad];
for (int i = 0; i < 7; i++) {
NSArray *arr = @[[UIColor redColor], [UIColor blueColor], [UIColor greenColor], [UIColor cyanColor], [UIColor orangeColor], [UIColor purpleColor], [UIColor brownColor]];
NeonView *view = [[NeonView alloc] initWithFrame:CGRectMake(45 + (19 * i), 45 + (18 * i), 330 - (i + 1) * 40, 330 - (i + 1) * 40)];
view.tag = 201 + i;
[self.view addSubview:view];
view.backgroundColor = arr[i];
}
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(80 , 450, 70, 40);
[btn setTitle:@"开始" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(timeAdvanced) forControlEvents: UIControlEventTouchUpInside];
btn.tag = 100;
btn.layer.cornerRadius = 10;
btn.backgroundColor = [UIColor cyanColor];
[self.view addSubview:btn];
UIButton *cancelBtn = [UIButton buttonWithType:UIButtonTypeCustom];
cancelBtn.frame = CGRectMake(210, 450, 70, 40);
[cancelBtn setTitle:@"停止" forState:UIControlStateNormal];
[cancelBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[cancelBtn addTarget:self action:@selector(stop) forControlEvents: UIControlEventTouchUpInside];
cancelBtn.tag = 101;
cancelBtn.backgroundColor = [UIColor cyanColor];
cancelBtn.layer.cornerRadius = 10;
[self.view addSubview:cancelBtn];
}
- (void)timeAdvanced{
self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeColor) userInfo:nil repeats:YES];
}
//停止计时器
- (void)stop{
[self.timer invalidate];
}
//改变颜色
- (void)changeColor{
NeonView *changeView = [[NeonView alloc] init];
changeView.backgroundColor = [self.view viewWithTag:201].backgroundColor;
for (int i = 201; i < 207; i++) {
[self.view viewWithTag:i].backgroundColor = [self.view viewWithTag:i + 1].backgroundColor;
}
[self.view viewWithTag:206].backgroundColor = changeView.backgroundColor;
[changeView release];
}
- }
}
- (void)viewDidLoad {
[super viewDidLoad];
for (int i = 0; i < 7; i++) {
NSArray *arr = @[[UIColor redColor], [UIColor blueColor], [UIColor greenColor], [UIColor cyanColor], [UIColor orangeColor], [UIColor purpleColor], [UIColor brownColor]];
NeonView *view = [[NeonView alloc] initWithFrame:CGRectMake(45 + (19 * i), 45 + (18 * i), 330 - (i + 1) * 40, 330 - (i + 1) * 40)];
view.tag = 201 + i;
[self.view addSubview:view];
view.backgroundColor = arr[i];
}
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(80 , 450, 70, 40);
[btn setTitle:@"开始" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(timeAdvanced) forControlEvents: UIControlEventTouchUpInside];
btn.tag = 100;
btn.layer.cornerRadius = 10;
btn.backgroundColor = [UIColor cyanColor];
[self.view addSubview:btn];
UIButton *cancelBtn = [UIButton buttonWithType:UIButtonTypeCustom];
cancelBtn.frame = CGRectMake(210, 450, 70, 40);
[cancelBtn setTitle:@"停止" forState:UIControlStateNormal];
[cancelBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[cancelBtn addTarget:self action:@selector(stop) forControlEvents: UIControlEventTouchUpInside];
cancelBtn.tag = 101;
cancelBtn.backgroundColor = [UIColor cyanColor];
cancelBtn.layer.cornerRadius = 10;
[self.view addSubview:cancelBtn];
}
- (void)timeAdvanced{
self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeColor) userInfo:nil repeats:YES];
}
//停止计时器
- (void)stop{
[self.timer invalidate];
}
//改变颜色
- (void)changeColor{
NeonView *changeView = [[NeonView alloc] init];
changeView.backgroundColor = [self.view viewWithTag:201].backgroundColor;
for (int i = 201; i < 207; i++) {
[self.view viewWithTag:i].backgroundColor = [self.view viewWithTag:i + 1].backgroundColor;
}
[self.view viewWithTag:206].backgroundColor = changeView.backgroundColor;
[changeView release];
}
- }
}
相关文章推荐
- GUI - Web前端开发框架
- 评价ui设计作品好坏的八个标准(界面/交互设计研究)
- flex 控件的重要属性
- Delphi控件ListView的属性及使用方法详解
- web下载的ActiveX控件自动更新
- WinForm实现按名称递归查找控件的方法
- C#中父窗口和子窗口之间控件互操作实例
- 为Yahoo! UI Extensions Grid增加内置的可编辑器
- Android编程之Button控件用法实例分析
- Android控件之CheckBox、RadioButton用法实例分析
- MFC中动态创建控件以及事件响应实现方法
- Cocos2d-x UI开发之文本类使用实例
- WinForm自定义函数FindControl实现按名称查找控件
- Android控件之ProgressBar用法实例分析
- WinForm拖拽控件生成副本的解决方法
- ASP.NET动态添加用户控件的方法
- ASP.NET的HtmlForm控件学习及Post与Get的区别概述
- 谈谈对jquery ui tabs 的理解
- WinForm实现移除控件某个事件的方法
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗