第一,定义一个全局的按钮变量

  1. /**
  2. *  按钮选中,中间值
  3. */
  4. @property (nonatomic,strong) UIButton *selectedBtn;

第二,添加多个按钮到scrollView中

  1. /**
  2. *  创建按钮添加到scrollView
  3. */
  4. -(void)creatBtn
  5. {
  6. int i = 0;
  7. NSArray *titleArray = @[@"头条",@"热点",@"体育",@"北京",@"订阅",@"财经",@"科技",@"汽车",@"时尚",@"图片",@"跟帖",@"房产",@"直播",@"轻松一刻",@"军事",@"历史"];
  8. for (NSString *title in titleArray) {
  9. UIButton *btn = [[UIButton alloc] init];
  10. btn.frame = CGRectMake(i*pading + _tempW, 0, 50, 50);
  11. [btn setTitle:title forState:UIControlStateNormal];
  12. btn.tag = i;
  13. btn.contentMode = UIViewContentModeCenter;
  14. [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  15. [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
  16. [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
  17. [btn addTarget:self action:@selector(titleBtnClick:) forControlEvents:UIControlEventTouchUpInside];
  18. [btn sizeToFit];
  19. _tempW += btn.frame.size.width;
  20. [self.btnView addSubview:btn];
  21. i++;
  22. }
  23. }

第三,监听按钮的点击,切换选中按钮

  1. -(void)titleBtnClick:(UIButton *)btn
  2. {
  3. if (btn!= self.selectedBtn) {
  4. self.selectedBtn.selected = NO;
  5. btn.selected = YES;
  6. self.selectedBtn = btn;
  7. }else{
  8. self.selectedBtn.selected = YES;
  9. }
  10. //    if (self.selectedBtn == nil) {
  11. //        btn.selected = YES;
  12. //        self.selectedBtn = btn;
  13. //    }else if (self.selectedBtn != nil&&self.selectedBtn == btn){
  14. //        btn.selected = YES;
  15. //    }else if (self.selectedBtn != btn&&self.selectedBtn != nil){
  16. //        self.selectedBtn.selected = NO;
  17. //        btn.selected = YES;
  18. //        self.selectedBtn = btn;
  19. //    }
  20. }

iOS中对于多个按钮,选中其中一个,其他按钮选中状态为NO的更多相关文章

  1. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:制作一个小按钮

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

  2. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:制作一个大按钮

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

  3. 两个select一个选中,另一个就没有选中的那个值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. iOS中多线程原理与runloop介绍

    一.线程概述 有些程序是一条直线,起点到终点:有些程序是一个圆,不断循环,直到将它切断.直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样:圆如操作系统,一直运行直 ...

  5. iOS中的定时器

    据我所知,iOS中的定时器有两种.一个叫NSTimer,一个叫CADisplayLink.还有一种是使用GCD,不常用,这里就不介绍了. 下边说下两个定时器分别得用法: =============== ...

  6. 如何让IOS中的文本实现3D效果

    本转载至 http://bbs.aliyun.com/read/181991.html?spm=5176.7114037.1996646101.25.p0So7c&pos=9       zh ...

  7. IOS中的多线程和NSRunLoop概述(转载)

    线程概述 有些程序是一条直线,从起点到终点,如Hello World,运行打印完,它的生命周期便结束了:有些程序是一个圆,不断循环,直到将它切断,如操作系统,一直运行直到你关机.  一个运行着的程序就 ...

  8. ios中UIButton选中状态切换

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

  9. iOS中按钮点击事件处理方式

    写在前面 在iOS开发中,时常会用到按钮,通过按钮的点击来完成界面的跳转等功能.按钮事件的实现方式有多种,其中 较为常用的是目标-动作对模式.但这种方式使得view与controller之间的耦合程度 ...

随机推荐

  1. JSON Web Token的使用

    定义 JSON Web Token(JWT)是一个非常轻巧的规范.这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息. 适用场景 1.用于向Web应用传递一些非敏感信息.例如完成加好友.下 ...

  2. 【转载】SQL SERVER 函数大全

    SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...

  3. libsm6 & libgtk lost (QQ + WPS: Ubuntu)

    error while loading shared libraries: libgtk-x11-2.0.so.0: cannot openshared object file: No such fi ...

  4. CodeForces - 103D Time to Raid Cowavans

    Discription As you know, the most intelligent beings on the Earth are, of course, cows. This conclus ...

  5. 我的CSS初始化,reset.css

    * { margin:; padding:; text-decoration: none; -webkit-overflow-scrolling: touch !important; /*iOS惯性滚 ...

  6. 原生js获取元素的样式信息

    工作中经常会需要获取DOM元素的样式,之前都是通过jquery的css()方法,现在总结一下通过原生js获取元素样式的方法. obj.style js var _width = obj.style.w ...

  7. Android Touch事件传递机制详解 下

    尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38025165 资源下载:http://download.csdn.net/detail/yu ...

  8. Android开发常见的Activity中内存泄漏及解决办法

    上一篇文章楼主提到由Context引发的内存泄漏,在这一篇文章里,我们来谈谈Android开发中常见的Activity内存泄漏及解决办法.本文将会以“为什么”“怎么解决”的方式来介绍这几种内存泄漏. ...

  9. memcache 开机启动

    一. 通常:启动Memcache的服务器端的命令为:# /usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 - ...

  10. U+V2深度隐藏PE制作技术初探

    所谓U+,习惯上是指用UltraISO软件把ISO文件写入U盘来制作启动盘的一种技术.第一代U+兼容性不太好,不推荐使用.目前,兼容性比较好的是第二代U+启动技术(USB-HDD+ V2/USB-ZI ...