做出点一个控件然后他和他上下左右的4个控件一起变色。

#import "ViewController.h"
@interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
//每个方块的高度和宽度
CGFloat width=50 ;
CGFloat height=50;
//列数
int lie=5;
//一行之中的方块间隙
CGFloat Xjianxi=(self.view.frame.size.width-width*lie)/(lie +1);
//一列之中的方块间隙
CGFloat Yjianxi=30;
self.number=1;
//循环,
for (int i=0; i<45; i++) {
int hangshu=i/lie;
int lieshu=i%lie;
self.butn=[[UIButton alloc]initWithFrame:CGRectMake(Xjianxi+lieshu*(Xjianxi+width), Yjianxi+hangshu*(height+Yjianxi), width, height)];
self.butn.backgroundColor=[UIColor blueColor];
self.view.tag=100; [self.butn addTarget:self action:@selector(Discoloration:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:self.butn];
self.butn.tag=self.number++; } } -(void)change
{
if (self.backgroundColor==[UIColor redColor]) {
self.backgroundColor=[UIColor blueColor];
}
else{
self.backgroundColor=[UIColor redColor];
}
} -(void)Discoloration:(UIButton*)btn
{
// [[self.view viewWithTag:btn.tag] change];
// [[self.view viewWithTag:btn.tag-1] change];
// [[self.view viewWithTag:btn.tag+1] change];
// [[self.view viewWithTag:btn.tag+5] change];
// [[self.view viewWithTag:btn.tag-5]change];
self.butn=btn; if (self.butn.tag==1) {
[[self.view viewWithTag:btn.tag ] change];
[[self.view viewWithTag:btn.tag+1] change];
[[self.view viewWithTag:btn.tag+5] change];
}
else if(self.butn.tag==5)
{
[[self.view viewWithTag:btn.tag] change];
[[self.view viewWithTag:btn.tag-1] change];
[[self.view viewWithTag:btn.tag+5] change];
}
else if(self.butn.tag==41)
{
[[self.view viewWithTag:btn.tag] change];
[[self.view viewWithTag:btn.tag-5] change];
[[self.view viewWithTag:btn.tag+1] change];
}
else if(self.butn.tag==45)
{
[[self.view viewWithTag:btn.tag] change];
[[self.view viewWithTag:btn.tag-1] change];
[[self.view viewWithTag:btn.tag-5] change];
}
else if(self.butn.tag%5==1)
{
[[self.view viewWithTag:btn.tag] change];
[[self.view viewWithTag:btn.tag-5] change];
[[self.view viewWithTag:btn.tag+1] change];
[[self.view viewWithTag:btn.tag+5] change];
}
else if(self.butn.tag%5==0)
{
[[self.view viewWithTag:btn.tag] change];
[[self.view viewWithTag:btn.tag-5] change];
[[self.view viewWithTag:btn.tag-1] change];
[[self.view viewWithTag:btn.tag+5] change];
}
else if(self.butn.tag%5==1)
{
[[self.view viewWithTag:btn.tag] change];
[[self.view viewWithTag:btn.tag-5] change];
[[self.view viewWithTag:btn.tag+1] change];
[[self.view viewWithTag:btn.tag-5] change];
}
else
{
[[self.view viewWithTag:btn.tag] change];
[[self.view viewWithTag:btn.tag-1] change];
[[self.view viewWithTag:btn.tag+1] change];
[[self.view viewWithTag:btn.tag-5] change];
[[self.view viewWithTag:btn.tag+5] change];
}
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

UI控件闪灯的更多相关文章

  1. ANDROID L——Material Design详解(UI控件)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

  2. WinForm/Silverlight多线程编程中如何更新UI控件的值

    单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么 ...

  3. 富客户端 wpf, Winform 多线程更新UI控件

    前言 在富客户端的app中,如果在主线程中运行一些长时间的任务,那么应用程序的UI就不能正常相应.因为主线程要负责消息循环,相应鼠标等事件还有展现UI. 因此我们可以开启一个线程来格外处理需要长时间的 ...

  4. UI控件(复习一下)

    如何修改控件状态• 可见,确实需要经常修改控件状态• 那如何去修改控件的状态呢?方法很简单➢ 每一个UI控件都是一个对象➢ 修改UI控件的状态,其实就是修改控件对象的属性➢ 比如修改UILabel显示 ...

  5. IOS学习资源收集--开发UI控件相关

    收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文 ...

  6. 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架

    <深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...

  7. AppleWatch___学习笔记(二)UI布局和UI控件

    1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...

  8. (转).NET 4.5中使用Task.Run和Parallel.For()实现的C# Winform多线程任务及跨线程更新UI控件综合实例

    http://2sharings.com/2014/net-4-5-task-run-parallel-for-winform-cross-multiple-threads-update-ui-dem ...

  9. Atitit. .net c# web 跟客户端winform 的ui控件结构比较

    Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net   4.5 webform Winform 命名空间 System.Web.UI.WebControls ...

随机推荐

  1. Javascript模板引擎mustache.js详解

    mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...

  2. 写给自己的 程序集&msil 扫盲

    嘴上不说 心里却想MD 这家伙在博客园装了这么久的高手 竟然连这都不会 ,我去噢. 程序集签名 .net 下 “程序集” 什么东东 ,反正就是听着挺牛x的,其实就是指“一堆程序”从我们传统的C++封装 ...

  3. 基于<MediaElement>的WPF视频播放器(可拖拽进度条播放)【1】

    一.前言       前两天上峰要求做一个软件使用向导,使用WPF制作.这不,这两天从一张白纸开始学起,做一个播放演示视频的使用向导.以下是粗设计的原型代码: 二.效果图 三.代码 前台代码: < ...

  4. 如果你恨一个程序员,忽悠他去做iOS开发

    如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...

  5. WinPhone学习笔记(五)——LongListSelector

    LongListSelector也是WinPhone的特色控件之一,最初不了解这个控件叫啥名,知道它会在"人脉"里面出现,在应用程序列表也是这个LongListSelector(如 ...

  6. easyui combobox 值怎样获取

    $('#com').combobox('getValue')获取当前选中的值$('#com').combobox('getText')获取当前选中的文字

  7. iOS阶段学习第16天笔记(Category-NSSet-SEL-NSIndexSet 操作)

    iOS学习(OC语言)知识点整理 一.NSSet.NSMutableSet集合的介绍 1)NSSet.NSMutableSet集合,元素是无序的,不能有重复的值. 2)用实例方法创建一个不可变集合对象 ...

  8. 写PHP代码你搞过单元测试吗

    其实一开始我内心是想做单元测试(unit testing)的,但时间久了,也就不想了. 要想通过PHP编程成为技术领域的专家,其实功夫在PHP之外.数据库至少得看几本书,xml至少得看一本书,单元测试 ...

  9. Js 风骚的代码

    1.写自动调用的匿名函数 当我们写完一个函数立即调用时,总是 function a(){ } a(); 或许 var a = function(){ } a(); 而高手总是 (function(){ ...

  10. 用css 制作三角

    html代码: <div class="div"></div> css代码: .div{ border-top:40px solid #ff0077; bo ...