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

  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. Python学习杂记_11_函数(一)

    函数也叫方法,就是把实现某种功能的一组代码封装起来,当你需要这个功能时直接调用函数即可. 定义函数:定义函数时要注意 “def”关键字,“:”,“函数体缩进”:用“return”使函数有具体返回值,没 ...

  2. Day 21 Object_oriented_programming_2

    继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...

  3. PHP json_encode 转换成空对象和空数组

    对于以下对象 $foo = array( "bar1" => array(), "bar2" => array() ); 我想转换成 { " ...

  4. poj 2892(二分+树状数组)

    Tunnel Warfare Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 7749   Accepted: 3195 D ...

  5. 内存 : CL设置

    CL(CAS Latency):为CAS的延迟时间,这是纵向地址脉冲的反应时间,也是在一定频率下衡量支持不同规范的内存的重要标志之一. 内存负责向CPU提供运算所需的原始数据,而目前CPU运行速度超过 ...

  6. 用户找回密码功能JS验证邮箱通过点击下一步隐藏邮箱输入框并修改下一步按钮的ID

    //这里是BaseDao /** * 获得一个对象 * @param hql * @param param * @return */ public Object get(String hql, Obj ...

  7. Codeforces Gym101063 J.The Keys (2016 USP-ICMC)

    J.The Keys Out of all science labs constructed by the GEMA mission on Mars, the DSL - Dangerous Spec ...

  8. 推荐系统中的注意力机制——阿里深度兴趣网络(DIN)

    参考: https://zhuanlan.zhihu.com/p/51623339 https://arxiv.org/abs/1706.06978 注意力机制顾名思义,就是模型在预测的时候,对用户不 ...

  9. hdu3591The trouble of Xiaoqian 多重背包+全然背包

    //给出Xiaoqian的钱币的价值和其身上有的每种钱的个数 //商家的每种钱的个数是无穷,xiaoqian一次最多付20000 //问如何付钱交易中钱币的个数最少 //Xiaoqian是多重背包 / ...

  10. Solr Cloud的搭建使用

    Solr的安装下载http://archive.apache.org/dist/lucene/solr/6.4.0/或者直接去官网下载最新版本网页指导 https://cwiki.apache.org ...