iOS中对于多个按钮,选中其中一个,其他按钮选中状态为NO
第一,定义一个全局的按钮变量
- /**
- * 按钮选中,中间值
- */
- @property (nonatomic,strong) UIButton *selectedBtn;
第二,添加多个按钮到scrollView中
- /**
- * 创建按钮添加到scrollView
- */
- -(void)creatBtn
- {
- int i = 0;
- NSArray *titleArray = @[@"头条",@"热点",@"体育",@"北京",@"订阅",@"财经",@"科技",@"汽车",@"时尚",@"图片",@"跟帖",@"房产",@"直播",@"轻松一刻",@"军事",@"历史"];
- for (NSString *title in titleArray) {
- UIButton *btn = [[UIButton alloc] init];
- btn.frame = CGRectMake(i*pading + _tempW, 0, 50, 50);
- [btn setTitle:title forState:UIControlStateNormal];
- btn.tag = i;
- btn.contentMode = UIViewContentModeCenter;
- [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
- [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
- [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
- [btn addTarget:self action:@selector(titleBtnClick:) forControlEvents:UIControlEventTouchUpInside];
- [btn sizeToFit];
- _tempW += btn.frame.size.width;
- [self.btnView addSubview:btn];
- i++;
- }
- }
第三,监听按钮的点击,切换选中按钮
- -(void)titleBtnClick:(UIButton *)btn
- {
- if (btn!= self.selectedBtn) {
- self.selectedBtn.selected = NO;
- btn.selected = YES;
- self.selectedBtn = btn;
- }else{
- self.selectedBtn.selected = YES;
- }
- // if (self.selectedBtn == nil) {
- // btn.selected = YES;
- // self.selectedBtn = btn;
- // }else if (self.selectedBtn != nil&&self.selectedBtn == btn){
- // btn.selected = YES;
- // }else if (self.selectedBtn != btn&&self.selectedBtn != nil){
- // self.selectedBtn.selected = NO;
- // btn.selected = YES;
- // self.selectedBtn = btn;
- // }
- }
iOS中对于多个按钮,选中其中一个,其他按钮选中状态为NO的更多相关文章
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:制作一个小按钮
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:制作一个大按钮
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 两个select一个选中,另一个就没有选中的那个值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- iOS中多线程原理与runloop介绍
一.线程概述 有些程序是一条直线,起点到终点:有些程序是一个圆,不断循环,直到将它切断.直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样:圆如操作系统,一直运行直 ...
- iOS中的定时器
据我所知,iOS中的定时器有两种.一个叫NSTimer,一个叫CADisplayLink.还有一种是使用GCD,不常用,这里就不介绍了. 下边说下两个定时器分别得用法: =============== ...
- 如何让IOS中的文本实现3D效果
本转载至 http://bbs.aliyun.com/read/181991.html?spm=5176.7114037.1996646101.25.p0So7c&pos=9 zh ...
- IOS中的多线程和NSRunLoop概述(转载)
线程概述 有些程序是一条直线,从起点到终点,如Hello World,运行打印完,它的生命周期便结束了:有些程序是一个圆,不断循环,直到将它切断,如操作系统,一直运行直到你关机. 一个运行着的程序就 ...
- ios中UIButton选中状态切换
关于UIButton的事件枚举有许多,平时用的少所以很多的都不是很清楚,今天了解了下,看了以前的代码,觉得在UIButton选中时操作写了许多冗余代码,而忽略了UIButton一个很重要的属性,如下: ...
- iOS中按钮点击事件处理方式
写在前面 在iOS开发中,时常会用到按钮,通过按钮的点击来完成界面的跳转等功能.按钮事件的实现方式有多种,其中 较为常用的是目标-动作对模式.但这种方式使得view与controller之间的耦合程度 ...
随机推荐
- IDEA 2017.3 新版本中创建 JSF Web 应用程序缺少 web.xml 的解决办法
IDEA 2017.3 新版本中默认创建一个 Web 应用程序很可能不会自动创建 web.xml 文件.虽然说从 JavaEE 6.0 开始 Servlet 3.0 规范中就新增了一些注解可以免去传统 ...
- hdu 1548(最短路)
A strange lift Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- Linux系统安装JDK和Tomcat
首先先准备好需要安装的包 下载Linux JDK 和Tomcat 我这里下载的是Linux系统下的后缀名为tar.gz包 1.压缩命令: 命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩 ...
- 转:GEF 英文全称Graphical Editor Framework
http://blog.csdn.net/chancein007/article/category/2713827
- SecureCRT使用Ctrl+D快速关闭Tab
- Linux内核网络栈源代码分析
http://blog.csdn.net/column/details/linux-kernel-net.html
- PS中把图片白色背景变成透明的方法
用魔术橡皮擦擦去白色(调整容差,取消连续,点选白色部分),保存成png格式
- MFC中 CString与int的转化
int 转化为SCtring: int n = 123; CString str; str.Format("%d",n); 报错的话则改为:str.Format(_T(" ...
- Injection of resource dependencies failed解决办法总结
今天调试项目代码,出现的引resource的报错,查原因查了好长时间才找到,现在这里总结一下,以免以后忘掉以及给大家参考. 报错大致内容入下: org.springframework.beans.fa ...
- 2016.7.12 针对不同的数据库类型generatorConfig文件中的数据库配置
百度了很多资料,没有专门说这个的.大家都是配置自己的数据库,大部分是mysql.因为我使用的是postgresql,还是找了一会才找到配置指导. 毕竟第一次配置,还是要看着别人的指导比较安心.配置完后 ...