ios开发之--多个按钮单选效果
开发项目时,有很多场景需要用到按钮单选效果,例如充值页面,选择标签页面等,具体实现代码如下:
1,创建
-(UIView *)headerView
{
CGFloat width = (KscreenW -*)/; if (!_headerView) {
_headerView = [[UIView alloc]initWithFrame:CGRectMake(, , KscreenW, )];
for (int i = ; i < ; i ++) {
int x = + i % * width + i % * ;
int y = i / * + i / * ; UIButton *button = [GlobalUI createButtonWithImg:nil title:[NSString stringWithFormat:@"%d",i] titleColor:[UIColor grayColor]];
button.frame = CGRectMake(x, y, width, );
button.tag = i + ;
button.backgroundColor = BackgroundColor;
button.clipsToBounds = YES;
button.layer.cornerRadius = ;
[button addTarget:self action:@selector(selectedAction:) forControlEvents:UIControlEventTouchUpInside];
[_headerView addSubview:button]; if (i == ) { self.tmpBtn = button;
self.tmpBtn.backgroundColor = RGB(, , );
[self.tmpBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
}
}
}
return _headerView;
}
2,具体实现方法:
-(void)selectedAction:(UIButton *)sender
{
if (self.tmpBtn == sender) {
sender.backgroundColor = RGB(, , );
[sender setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
}else{
sender.backgroundColor = RGB(, , );
[sender setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_tmpBtn.backgroundColor = BackgroundColor;
[_tmpBtn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
} self.tmpBtn = sender;
}
3,主要是声明的_tmpBtn
@property(strong, nonatomic) UIButton *tmpBtn;
声明一个按钮的实例,在循环创建的时候,指定第0个按钮的选中效果,用_tmpBtn来进行标记,并指定选中的效果,譬如背景色,字体颜色等,
然后在点击事件里面,根据传入的sender的变量来进行匹配,如果是选中的实例按钮,就设置选中样式,反之,把其他的非选中的按钮和已经选中过的按钮进行设置,最后重新赋值下,即可!可能说的有的肤浅,不过大体上就是这麽个意思,见谅!效果图如下:


仅做记录!
ios开发之--多个按钮单选效果的更多相关文章
- IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例
IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...
- iOS开发之虾米音乐频道选择切换效果分析与实现
今天博客的内容比较简单,就是看一下虾米音乐首页中频道选择的一个动画效果的实现.之前用mask写过另外一种Tab切换的一种效果,网易云音乐里边的一种Tab切换效果,详情请移步于"视错觉:从一个 ...
- iOS开发——图片轮播图+单选选项
由于公司开发需要,需要滚动每道评测题, 并且一道评测题单项选择,按钮和文字都可点击选中 (单选比多选复杂一点,但是原理差不多) 1.当初任务紧,代码也没有优化,仅供思路参考,先放几张图 2.代码部分 ...
- iOS开发——实用技术OC篇&简单抽屉效果的实现
简单抽屉效果的实现 就目前大部分App来说基本上都有关于抽屉效果的实现,比如QQ/微信等.所以,今天我们就来简单的实现一下.当然如果你想你的效果更好或者是封装成一个到哪里都能用的工具类,那就还需要下一 ...
- iOS开发——动画篇Swift篇&动画效果的实现
Swift - 动画效果的实现 在iOS中,实现动画有两种方法.一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimation ...
- iOS开发小技巧--修改按钮内部图片和文字之间的间距(xib)
调整按钮的Edge属性,选择调整图片的Edge还是label的Edge,如图:
- ios开发之简单实现loading动画效果
最近有朋友问我类似微信语音播放的喇叭动画和界面图片加载loading界面是怎样实现的,是不是就是一个gif图片呢!我的回答当然是否定了,当然不排除也有人用gif图片啊!下面我就来罗列三种实现loadi ...
- radio按钮单选效果
必须有name,并且是同一值,判断效果可用value值确定
- iOS开发小技巧--取消按钮的选中状态
首先要自定义按钮,并且实现如下方法,对,就是这么实现!!
随机推荐
- ie6幽灵文字及解决办法
<!-- ie6 幽灵文字示例 --> <div style="width: 400px;"> <div style="float: lef ...
- “ sgen.exe ”已退出,代码为 1
解决方案:visual studio 2010 选定web项目,右键选择“属性”—“生成”,将“生成序列化程序集”设成“关闭”. 若你使用的是Visual Studio 2012,还需要在“标准”工具 ...
- 基于Zookeeper的分步式队列系统集成案例
基于Zookeeper的分步式队列系统集成案例 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, ...
- Androidn Notification的使用,解决找不到setLatestEventInfo方法
转自:http://blog.csdn.net/songyachao/article/details/51245370#comments 今天使用4.0.3使用 Notification notifi ...
- Tensorboard on Server
ssh -L 6006:localhost:5001 username@ml.cs.tsinghua.edu.cn -p 4513 6006是本地端口 5001是远程tensorboard绑定的端口
- Android ListView实现单击item出现删除按钮以及滑动出现删除按钮
我自己一个人弄的公司的产品客户端,所以还是想记录下来以免忘记或者丢失... 在我的上一篇博文(点击打开链接)是一个文件管理的东西,基础组件也是ListView所以在此只是改动一下而已. 单击: 点击出 ...
- 2015年第六届蓝桥杯C/C++B组省赛题目解析
一.奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位数(10000-99999),要求其中 ...
- [转]Android进程间通信
Android进程间通信 一.Linux系统进程间通信有哪些方式? 1.socket: 2.name pipe命名管道: 3.message queue消息队列: 4.singal信号量: 5.sha ...
- 嵌入式开发之makefile---交叉编译静态库和动态库的生成和调用
c和cpp 混合的动态库生成: $(LIBSO): $(COBJS) $(CPPOBJS) $(CPP) -shared -o $@ $^ $(LIBS) ////////////////////// ...
- 联想服务器X3850 X6 配置RAID5
实验环境: 1. 服务器型号 联想 System X3850 X6 2. 四块300G SAS硬盘 实验目的: 配置RAID 5 ,搭建公司重要文件共享服务器使用. 标注:本教程四块硬盘全做RA ...