在项目中有时会遇到有几个Button,当选中其中一个Button时,状态颜色变为选中状态,其他的为不选中状态。
再次点击选中状态的Button状态不改变(依旧是选中状态)。

针对这种情况,需要创建使用一个全局的Button属性。

@property(nonatomic,strong)UIButton *tempButton;

一般会有默认选中的Button,所以在默认的Button处写上

    _liftButton.selected = YES;_tempButton = _liftButton;

将默认的Button赋给中间变量。

-具体示例代码如下:

其实就是判断点击的Button是否为选中状态,是的话状态不改变;不是的话,把记录全局的Button选中状态改为NO,把当前的Button赋给全局Button,并且状态改为YES。

//按钮点击事件
-(void)buttonSelected:(UIButton *)sender{if (sender != _tempButton) {_tempButton.selected = NO;_tempButton.backgroundColor = [UIColor grayColor];sender.backgroundColor = [UIColor whiteColor];_tempButton = sender;}_tempButton.selected = YES;
}

​这里用颜色来表示选中与未选中的状态。

如果使用不同图片,在创建Button时就可以设置选中与未选中的图片,使用如下方法即可。
在点击事件中就不需要在改变颜色了。

[button setBackgroundImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:selectedImgName] forState:UIControlStateSelected];

【笃行】Button的选中与改变相关推荐

  1. CheckBox选中状态改变

    这里写自定义目录标题 CheckBox选中状态改变 一.背景 二.源码分析 三.总结: CheckBox选中状态改变 一.背景 分配了一个编写checkbox通用控件的任务,有一个要求是希望可以在状态 ...

  2. 扩展GridView控件(7) - 行的指定复选框选中时改变行的样式

    GridView既强大又好用.为了让它更强大.更好用,我们来写一个继承自GridView的控件. [索引页] [×××] 扩展GridView控件(7) - 行的指定复选框选中时改变行的样式 作者:w ...

  3. android输入时背景颜色,Button根据EditText输入状态改变背景颜色

    需求 Button随EditText输入状态改变颜色 有3个不同颜色状态, EditText未输入时,Button处于不可点击状态 EditText输入时,Button处于高亮状态 EditText输 ...

  4. C# tabcontrol当标签页被选中后改变颜色

    C# tabcontrol当标签页被选中后改变颜色 private TabControl tabsControl = new TabControl(); tabsControl.DrawMode = ...

  5. 关于JS点击button之灵活替换改变内容方法

    <p id="demo"> JavaScript 能改变 HTML 元素的内容. </p> <script> function myFuncti ...

  6. 选中文字改变默认颜色

    在网页中选中文字,默认为蓝底白字.这是浏览器默认的结果. 要改变也十分的简单 .p1::selection{color: #fff;background:#73BF00;}.p1::-moz-sele ...

  7. qtablewidget 选中不改变背景_C4D制作不一样的核壳结构

    在科研绘图中,三维模型图相对于二维平面图片可以展示更多的信息,尤其是在做纳米结构设计和制备时,三维模型图可以直观地表现出材料的设计思路和合成路径.比如在这篇发表于Joule杂志的高水平.高颜值.将纳米 ...

  8. python怎么改变button的颜色_python – 改变Kivy中Button的背景颜色

    我是Kivy的新手,无法指定Button的背景颜色.这是我的简单例子: # custombutton.py from kivy.app import App from kivy.uix.widget ...

  9. checkbox jq 监听_「checkbox 选中事件」jquery checkbox 选中、改变状态、change 和 click 事件 - seo实验室...

    checkbox 选中事件 jquery判断checked的三种方法: ​​​​​​​ .attr('checked); //看版本1.6+返回:"checked"或"u ...

  10. 判断checkbox是否选中并改变值

    $("#aaa").click(function(){           $.each($('input:checkbox'),function(){             i ...

最新文章

  1. 深度学习(5)感知机(神经元)与神经网络
  2. 【读书笔记】iOS-属性
  3. JavaScript 同源策略
  4. 共享单车,信息安全应未雨绸缪
  5. 石子归并 51Nod - 1021
  6. 计算机英文版个人简历发文,计算机个人简历英文_英文简历.doc
  7. pdb断点命令_Python使用pdb更优雅的调试代码
  8. Selenium UI自动化测试(五)WebDriver控制浏览器的操作
  9. 择师论(怎么有效的向别人学习)
  10. MySQL:Innodb表 Data free 的计算概要
  11. 按键精灵定位坐标循环_按键精灵基础命令教程
  12. 【活动报名】NEO 区块链公开课(1): NEO 区块链开发入门
  13. python 邮件合并的基本操作步骤_邮件合并操作过程
  14. GCD中dispatch_semaphore(信号量)的使用方法
  15. 键盘输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小。(C++)(贪心法)
  16. 前端入门CSS(1)
  17. 作物产量常用的单位换算公式
  18. 环球旅行之江西分会场
  19. c语言十全十美游戏规则,十全十美游戏
  20. buffon针的概率算法

热门文章

  1. 今日头条视频如何收益
  2. php pecl命令,linux 运行pecl命令报错解决办法
  3. 关于IPB帧与恒定比特率、动态比特率的详解
  4. 我总结了程序员转行得最有出路5个方向
  5. dcdc升压电源模块可调直流HRB5v24v12v转50v120v165v110v180v350v
  6. 修复 iPhone X H5 底部安全区域定位按钮下内容穿透 BUG
  7. 外贸邮箱能群发吗?用哪个外贸邮箱发开发信回复率高?
  8. 在Android终端模拟器中操作adb调试命令
  9. oracle11g闪回默认路径,rman 备份默认路径小结
  10. NASA研制3D食物打印机:原料或取自昆虫