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

  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. AI创投的冰与火之歌:泡沫、跟风、短板和有钱花不出去的沮丧【转】

    转自:http://36kr.com/p/5071386.html 国内的AI行业仍处于野蛮生长阶段.热钱不少,优质项目却不多.创业者拿钱难,投资者有钱却花不出去. 编者按:本文来自微信公众号“刺猬公 ...

  2. Scrapy学习-22-扩展开发

    开发scrapy扩展 定义 扩展框架提供一个机制,使得你能将自定义功能绑定到Scrapy. 扩展只是正常的类,它们在Scrapy启动时被实例化.初始化   注意 实际上自定义扩展和spider中间件. ...

  3. class.getDeclaredFields()与class.getFields()

    * getFields()与getDeclaredFields()区别:getFields()只能访问类中声明为公有的字段,私有的字段它无法访问.getDeclaredFields()能访问类中所有的 ...

  4. fprintf与fscanf

    #include <stdio.h> int main() { //printf("Please input the value a:\n"); 等于下一句 fprin ...

  5. AC日记——3的幂的和 51nod 1013

    3的幂的和 思路: 矩阵快速幂:   sn-1      3 1        sn   *          = 1     0 1  1 来,上代码: #include <cstdio> ...

  6. iOS YYYY 和 yyyy的区别

    2017年1月31日 转换后变成 2018年1月31日,相差一年.这是为什么呢? 原因:YYYY 是以周为单位计算的,我们平常计算日期时最好用yyyy,yyyy才是标注的年份 如果一月1日是星期一,星 ...

  7. Codeforces 158 B. Taxi[贪心/模拟/一辆车最多可以坐4人同一个群的小朋友必须坐同一辆车问最少需要多少辆车]

    http://codeforces.com/problemset/problem/158/B B. Taxi time limit per test 3 seconds memory limit pe ...

  8. 第十三届北航程序设计竞赛决赛网络同步赛 B题 校赛签到(建树 + 打标记)

    题目链接  校赛签到 对每个操作之间建立关系. 比较正常的是前$3$种操作,若第$i$个操作属于前$3$种,那么就从操作$i-1$向$i$连一条有向边. 比较特殊的是第$4$种操作,若第$i$个操作属 ...

  9. 调参tips

    对于一个模型,都可以从以下几个方面进行调参: 1. 对weight和bias进行初始化(效果很好,一般都可以提升1-2%) Point 1 (CNN): for conv in self.convs1 ...

  10. iOS 5 does not allow to store downloaded data in Documents directory? ios5.0及以后的版本对于下载的文件存储路径有了改变

    I have made an application for my client by keeping target iOS as 4. But since the application still ...