#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
UIButton * btn = [self createBtn:YES andCGRectMake:CGRectMake(, , , )];
[btn setTitle:@"长度" forState:UIControlStateNormal]; [btn addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
btn.backgroundColor = [UIColor cyanColor];
btn.tag = ;
[self.view addSubview:btn]; UIButton * btn1 = [self createBtn:YES andCGRectMake:CGRectMake(, , , )];
btn1.tag = ;
btn1.selected = NO;
[btn1 setTitle:@"长度长度" forState:UIControlStateNormal]; //循环btn btn的背景图片不能更改
/*
UIImageView * image = [[UIImageView alloc]init];
image.backgroundColor = [UIColor orangeColor];
UIImageView * image1 = [[UIImageView alloc]init];
image1.backgroundColor = [UIColor yellowColor];
[btn1 setImage:image.image forState:UIControlStateNormal];
[btn1 setImage:image1.image forState:UIControlStateSelected];
*/
[btn1 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
[btn1 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
btn1.backgroundColor = [UIColor cyanColor];
[self.view addSubview:btn1];
} -(void)pressBtn:(UIButton*)sender{
//循环btn btn的背景图片不能更改
if (sender.tag == ) {
for (id obj in sender.subviews) {
if ([obj isKindOfClass:[UIImageView class]])
{
if (sender.selected) {
UIImageView* image = (UIImageView*)obj;
image.backgroundColor = [UIColor redColor]; sender.selected = NO;
}
else{
UIImageView* image = (UIImageView*)obj;
image.backgroundColor = [UIColor grayColor];
sender.selected = YES;
}
}
}
}
else{
for (id obj in sender.subviews) {
if ([obj isKindOfClass:[UIImageView class]])
{
if (sender.selected) {
UIImageView* image = (UIImageView*)obj;
image.backgroundColor = [UIColor redColor]; sender.selected = NO;
}
else{
UIImageView* image = (UIImageView*)obj;
image.backgroundColor = [UIColor grayColor];
sender.selected = YES; }
}
}
}
}
-(UIButton*)createBtn:(BOOL)yes andCGRectMake:(CGRect)frame{ UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = frame;
UIImageView *image = [[UIImageView alloc]initWithFrame:CGRectMake(btn.titleLabel.frame.size.width/+btn.frame.size.width/+, , , )];
image.backgroundColor = [UIColor redColor];
[btn addSubview:image]; return btn; }

循环btn上面的视图的更多相关文章

  1. 给View添加手势,防止点击View上其他视图触发点击效果

    在开发过程中,我们可能会遇到这个问题. 当我们给一个view添加了手势,但是我们又不想点击view上面的视图也触发手势.如下图: 我们在红色view上添加了手势,但是又不想点击黄色view也触发.其实 ...

  2. iOS for循环创建button,button的宽度依据上面的文字来自适应.

    近期须要使用一个标签页,寻思自己写一个demo. 标签的大小依据上面的文字来自适应大小,须要依据后台返回的数据自己主动换行.没有加入 NSArray *arr = @[@"无知", ...

  3. n=n+1 放在print(s)的上面的影响 (2) n=n=+1在前面,则不满足前面<100条件时候,才跳出while的循环,这时候while循环结束, 到了外面的下一步-->print()

    1+2+3+....+100=     ? n=1 s = 0 while n < =100: s = s+n n= n+1 # n=n+1    在print(s)上面的情况 print(s)

  4. jq源码解析之绑在$,jQuery上面的方法

    1.当我们用$符号直接调用的方法.在jQuery内部是如何封装的呢?有没有好奇心? // jQuery.extend 的方法 是绑定在 $ 上面的. jQuery.extend( { //expand ...

  5. 如何批量清除128组节点db上面的过期的binlog,释放磁盘空间。(转)

    如果10台以内的db的话,自己手动ssh进去,clean就足以,但是上百台呢,就要写脚本了.大概思路:在 一台db跳转机上面, 写一个脚本,访问slave,远程获取正在复制的master上面的binl ...

  6. 清理:db上面的过期的binlog,释放磁盘空间。 (转)

    如果10台以内的db的话,自己手动ssh进去,clean就足以,但是上百台呢,就要写脚本了.大概思路:在 一台db跳转机上面, 写一个脚本,访问slave,远程获取正在复制的master上面的binl ...

  7. k-develop 在ros上面的应用

    sudo apt-get install kdevelop 根据wiki上面的ros 章节中,关于kdevelop的介绍,配置好环境即可. 导入工程时,选中src/src下面的章节,不过,需要注意去掉 ...

  8. 获取Linux进程运行在哪个CPU内核上面的方法

    首先,当某些时候,在一段程序或者借助第三方软件进行程序协助的时候,在性能的优化,以及程序bug的排除上面,可能会想知道该程序执行的进程被调度到了哪一个CPU内核进行工作,从而可以推断是否是受限于硬件还 ...

  9. IQKeyboardManager在某个页面取消键盘上面的Toolbar

    使用IQKeyboardManager的时候,如果想在某个页面取消键盘上面的Toolbar,请使用如下方法,按控制器去操作 // 取消IQKeyboardManager Toolbar [[IQKey ...

随机推荐

  1. Synergy

    Synergy 可以在多台电脑之间共享鼠标.键盘.剪贴板.Synergy是一套开源共享软件,完美跨 Win.Linux.Mac运行.真正做到使用一套键盘和鼠标就可控制多个电脑. 下载地址:http:/ ...

  2. Windows下64位Apache服务器的安装

    转自:http://www.blogjava.net/greatyuqing/archive/2013/02/13/395308.html 首先需要说明的是,Apaceh服务器没有官方的64位版本,只 ...

  3. java中的null和""区别

    (1)问题一:null和""的区别String s=null;string.trim()就会抛出为空的exception String s=""; string ...

  4. 《数据结构与算法分析》学习笔记(四)——栈ADT

    一.栈ADT是what? 1.定义 栈,是限制插入和删除都只能在一个位置上进行的表. 2.图示 3.栈的基本功能 (1)是否为空 (2)进栈 (3)出栈 (4)清空 (5)取栈顶 二.栈的链表实现 # ...

  5. SU suamp命令学习

  6. Windows内核下操作字符串!

    * Windows内核下操作字符串! */ #include <ntddk.h> #include <ntstrsafe.h> #define BUFFER_SIZE 1024 ...

  7. windows下基于sublime text3的nodejs环境搭建

    第一步:先安装sublime text3.详细教程可自行百度,这边不具体介绍了. 第二步.安装nodejs插件,有两种方式 第一种方式:直接下载https://github.com/tanepiper ...

  8. A C[HDU1570]

    A C Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  9. BZOJ1444 : [Jsoi2009]有趣的游戏

    建立AC自动机,并求出转移矩阵. 再用$\sum E(终止节点)=1$去替换第一个方程,高斯消元即可. 时间复杂度$O(n^3l^3)$. 注意精度问题,要特判0.00的情况. #include< ...

  10. BZOJ4296 : [PA2015]Mistrzostwa

    先不断将度数小于D的点都删去,再找到剩下的图里最大的连通块即可. #include<cstdio> #include<algorithm> #define N 200010 i ...