#import "ViewController.h"

#define width_w     [UIScreen mainScreen].bounds.size.width

#define height_h     [UIScreen mainScreen].bounds.size.height

#define PRO_W(width)  width_w*(width/320.0)

#define PRO_H(height)  height_h*(height/480.0)

@interface ViewController (){

NSMutableArray *_titleArr;

UIView *_view;

UIButton *_btn2;

}

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.view.backgroundColor = [UIColor grayColor];

_titleArr = [[NSMutableArray alloc]initWithObjects:@"上架时间",@"价格",@"销量",nil];

//    背景View

_view = [[UIView alloc]initWithFrame:CGRectMake(0, 64, width_w, PRO_W(35))];

_view.backgroundColor = [UIColor whiteColor];

[self.view addSubview:_view];

for (int i=0; i<_titleArr.count; i++) {

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

btn.tag = i;

[btn setTitle:[_titleArr objectAtIndex:i] forState:UIControlStateNormal];

[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

btn.titleLabel.font = [UIFont systemFontOfSize:13];

btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

btn.frame = CGRectMake((width_w/3)*i,0,width_w/3, PRO_W(35));

[btn addTarget:self action:@selector(clickBtn:) forControlEvents:UIControlEventTouchUpInside];

[_view addSubview:btn];

UIView *lineView = [[UIView alloc]initWithFrame:CGRectMake((width_w/3)*i, PRO_W(5), 1,  PRO_W(25))];

lineView.backgroundColor = [UIColor grayColor];

[_view addSubview:lineView];

}

}

-(void)clickBtn:(UIButton *)btn {

if(_btn2== btn) {

//            //本次点击的按钮设为红色

[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

} else{

//本次点击的按钮设为红色

[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

//将上次点击过的按钮设为黑色

[_btn2 setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];

}

_btn2= btn;

}

55.UIbutton点击切换颜色的更多相关文章

  1. vue点击切换颜色限制个数(用了mui框架)

    vue点击切换颜色 只能点击一个 <!doctype html> <head> <meta charset="UTF-8"> <title ...

  2. Swift - 获取、改变按钮的标题文本(UIButton点击切换title)

    在开发中,我们常常需要动态地改变按钮标签文字,使用 setTitle() 函数就可以了.有时我们需要在几个标题间切换,比如下面样例所示,按钮点击后按钮文字会在"播放""暂 ...

  3. vue实现简单的点击切换颜色

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. ios中UIButton选中状态切换

    关于UIButton的事件枚举有许多,平时用的少所以很多的都不是很清楚,今天了解了下,看了以前的代码,觉得在UIButton选中时操作写了许多冗余代码,而忽略了UIButton一个很重要的属性,如下: ...

  5. 仿美团外卖,饿了吗 两个ListView联动,左边点击切换右边,右边滑动切换左边

    先上效果图: 实现思路: 1.先说右边标题: 首先,右边的数据源集合中的Javabean中含有三个属性name,type,title,而每个条目中会默认含有一个标题. 如果这是第一个条目,就让标题显示 ...

  6. 纯css就能实现可点击切换的轮播图,feel起来很丝滑

    前言 轮播图经常会在项目里用到,但是实际上用到的轮播图都是比较简单的,没有复杂的特效,这个时候如果去引入swiper那些库的话,未免就有点杀鸡焉用牛刀了. 所以不如自己手写一个,而今天我要分享的一种写 ...

  7. jquery——左右按钮点击切换一组图片功能

    一.最终效果 二.功能分析 1.需求分析 点击左边pre按钮,显示前面三个图片,点击右边的next按钮,显示后面的一组(三个)图片.初始化只显示next按钮,到最后一组只显示pre按钮,中间过程两按钮 ...

  8. jquery插件jquery.LightBox.js之点击放大图片并左右点击切换图片(仿相册插件)

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的点击放大图片并左右点击切换图片的效果,您可以根据自己的实 ...

  9. jquery - 通过点击切换文字内容

    今天要写一个简单的显示/隐藏效果,本以为是挺简单的事儿,没想到还真因为基本功不扎实遇到了问题,这里跟大家分享一下. 百度了很多方法,精简能用的干货实在太少,最后还是通过去查jq的官方api才找到了解决 ...

随机推荐

  1. 缩点+染色+DFS codeforce467D

    题目链接:https://vjudge.net/contest/219056#problem/A 推荐博客:https://blog.csdn.net/ck_boss/article/details/ ...

  2. Android 中Application向Activity 传递数值

    比如极光注册时获取用户的唯一标示ID需要在登录时进行传递,实现消息的指定用户推送功能 public String id; public String getId() { return id; } pu ...

  3. LeetCode第20题

    LeetCode20题不多说上代码 public boolean isValid(String s){ Stack<Character> stack = new Stack<Char ...

  4. nexus(Maven仓库私服)的安装、配置、使用和仓库迁移

    简介 Nexus下载:点击进入 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一 ...

  5. mysql 取得各种时间

    转载 取得当前日期:DATE_FORMAT(NOW(),'%e'): 取得当前年月:DATE_FORMAT(NOW(),'%Y-%c'):Y:四位.y:两位:m:两位.c:前面不加0: /*当前时间加 ...

  6. Google、微软软件测试之道

    扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主

  7. js正则表达式中的正向肯定预查和正向否定预查

    对于没有使用过这几个表达式的人,应该对这个概念都有点不太理解,下面就以实际例子说明这几个表达式的用户. 一.?:pattern——匹配检验:会作为匹配校验,是一个非获取匹配,并出现在匹配字符结果里面, ...

  8. windows+nginx+tomcat实现集群负载均衡(生产环境必读)

    概念理解(原文链接) 集群:多个tomcat服务器运行同一个web服务就能称之为集群 负载均衡:apache按照一定方式将不同的客户端访问分配到不同的tomcat服务器 简单负载均衡实现: 网上参考了 ...

  9. IOS开发之无法选择模拟器显示NO Scheme

    1. 不是 文件冲突的 看这个链接https://blog.csdn.net/sanpintian/article/details/7377365 2.文件冲突的  打开工程文件. 打开 直接 搜索 ...

  10. Java IO如何读写文件

    Java把这些不同来源和目标的数据都统一抽象为数据流:Java语言的输入输出功能是十分强大而灵活的:在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上 ...