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

  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. hdu3452 无向树去掉最小的边集使任何叶子与根不连通 / 最小割

    思路一下就上来了,叶子向汇点连边,inf保证不会成为割,跑根到汇点最小割即可.注意无向树双向建边.基础题,分分钟1A: #include<iostream> #include<que ...

  2. 搜狗拼音输入法LINUX版安装

    搜狗拼音输入法LINUX版官方下载: http://pinyin.sogou.com/linux/?r=pinyin 一.添加fcitx的nightlyPPA 在终端中输入: sudo add-apt ...

  3. HDU 1025 Constructing Roads In JGShining's Kingdom[动态规划/nlogn求最长非递减子序列]

    Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65 ...

  4. 大型网站优化-memcache技术

    大型网站优化-memcache技术 memory+cache 内存缓存 memcache简介 memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发 ...

  5. koa2 从入门到进阶之路 (二)

    之前的文章我们已经能够在本地启动一个简单的项目,本章我们来看一下 koa 路由,get 传值,动态路由. 一.Koa 路由 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP ...

  6. C++面向对象程序设计_Part1

    目录 C++历史 C++的组成 C++ 与 C 的数据和函数区别 基于对象与面向对象的区别 C++类的两个经典分类 头文件防卫式声明 头文件的布局 类的声明 类模板简介 内联(inline)函数 访问 ...

  7. cogs——1008. 贪婪大陆(清华巨佬代码)——树状数组

    1008. 贪婪大陆 ★★   输入文件:greedisland.in   输出文件:greedisland.out   简单对比时间限制:1 s   内存限制:128 MB 试题四:贪婪大陆  [题 ...

  8. Topcoder SRM 663 DIV 1

    ABBADiv1 题意: 规定两种操作,一种是在字符串的末尾添加A,另一种是在末尾添加B然后反转字符串.现在给你一个起始串,一个终点串,然后问你是否能够通过以上两种操作,从起始串变为终点串. 题解: ...

  9. Java并发编程,深度探索J.U.C - AQS

    java.util.concurrent(J.U.C)大大提高了并发性能,AQS 被认为是 J.U.C 的核心. CountdownLatch 用来控制一个线程等待多个线程. 维护了一个计数器 cnt ...

  10. 苹果iOS APP配置HTTPS,iOS ATS配置SSL,苹果ATS标准解决方案

    参考沃通: