循环btn上面的视图

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    UIButton * btn = [self createBtn:YES andCGRectMake:CGRectMake(100, 100, 100, 100)];
    [btn setTitle:@"长度" forState:UIControlStateNormal];

    [btn addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
    btn.backgroundColor = [UIColor cyanColor];
    btn.tag = 1;
    [self.view addSubview:btn];

    UIButton * btn1 = [self createBtn:YES andCGRectMake:CGRectMake(100, 250, 100, 100)];
    btn1.tag = 2;
    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 == 1) {
        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/2+btn.frame.size.width/2+20, 30, 30, 30)];
    image.backgroundColor = [UIColor redColor];
    [btn addSubview:image];

    return btn;

}

时间: 2024-07-31 12:14:01

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

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

最近需要使用一个标签页,寻思自己写一个demo. 标签的大小根据上面的文字来自适应大小,需要根据后台返回的数据自动换行.没有添加 NSArray *arr = @[@"无知",@"风云变幻",@"施耐庵",@"唉",@"西门吹雪",@"呵呵哒",@"快看看",@"窿窿啦啦",@"一杆禽兽狙",@"合欢花",@

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

近期须要使用一个标签页,寻思自己写一个demo. 标签的大小依据上面的文字来自适应大小,须要依据后台返回的数据自己主动换行.没有加入 NSArray *arr = @[@"无知",@"风云变幻",@"施耐庵",@"唉",@"西门吹雪",@"呵呵哒",@"快看看",@"窿窿啦啦",@"一杆禽兽狙",@"合欢花"

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) 原文地址:https://www.cnblogs.com/jack20181017/p/9846544.html

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

如果10台以内的db的话,自己手动ssh进去,clean就足以,但是上百台呢,就要写脚本了.大概思路:在 一台db跳转机上面, 写一个脚本,访问slave,远程获取正在复制的master上面的binlog位置, 然后再远程去purge master上面的binlog. 1,  建立slave dbserver列表 slavelist; 一个slave一行. 2,远程获取slave db上面的binlog位置以及slave的master主机名(也许是ip地址) 3,拿到binlog位置以及mast

Python学习:基本数据类型与变量(中)与基础之条件及循环(上)

一.数据类型和变量 1.可变与不可变数据类型 可变数据类型:在id不变的情况下,数据类型内部的元素可以改变 列表 字典 不可变数据类型:value改变,id也跟着改变 数字 字符串 布尔 补充: True--->1 False--->0 2.运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: and注解: 在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值:而是,返回它们实际进行比较的值之一. 在布尔上下文中从左到右演算表达式的

关于取消TextFiled上面的灰色联想区域的问题

其实之前的项目就已经有这方面的问题了,我遇到了好几次TF上面的灰色的联想区域问题,我大部分都是先用iPhone5s去做,我坚决不会告诉你我只有5s的.. 于是我各种百度,各种问题,各种解决方法,但是我就是没看见我的问题方法. 其实这个问题只要调用一个属性就行了..可能问题太偏了吧... textfiled里面有个view属性,下面有个correction 和 spell checking 只要把这两个属性设为NO,问题一般就能解决了(→这只是针对Xib的空间来说的,要是我是手写的代码怎么办呢..

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

如果10台以内的db的话,自己手动ssh进去,clean就足以,但是上百台呢,就要写脚本了.大概思路:在 一台db跳转机上面, 写一个脚本,访问slave,远程获取正在复制的master上面的binlog位置, 然后再远程去purge master上面的binlog. 1,  建立slave dbserver列表 slavelist; 一个slave一行. 2,远程获取slave db上面的binlog位置以及slave的master主机名(也许是ip地址) 3,拿到binlog位置以及mast

返回上一视图,凸显一个视图,其他视图变模糊

// //  AchievementViewController.m //  LIBAOZHENG0826 // //  Created by 张艳锋 on 15/8/27. //  Copyright (c) 2015年 张艳锋. All rights reserved. // #import "AchievementViewController.h" #import "LBZModelDataAll.h" #import "LBZPrefixHeade

架构上面的东西,越少越好

比如说 传统的php web程序,不管你是nginx 还是httpd 进来,还是要经过php 进来,然后连mysql ,redis ,mongodb ,不能说你用了nginx 就快了多少. nginx真正牛笔之处在于第三方模块,比如说lua ,本身可以处理httpd的请求,还可以联合其他模块,比如说drizzle 可以直接访问mysql .这样就完全绕过了php 这个大家伙,性能提高那是必须的.光用nginx 当web server ,没啥优势,其实. 当然这个是建立在你能自行开发网站或者2次开