开发项目时,有很多场景需要用到按钮单选效果,例如充值页面,选择标签页面等,具体实现代码如下:

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开发之--多个按钮单选效果的更多相关文章

  1. IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例

    IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...

  2. iOS开发之虾米音乐频道选择切换效果分析与实现

    今天博客的内容比较简单,就是看一下虾米音乐首页中频道选择的一个动画效果的实现.之前用mask写过另外一种Tab切换的一种效果,网易云音乐里边的一种Tab切换效果,详情请移步于"视错觉:从一个 ...

  3. iOS开发——图片轮播图+单选选项

    由于公司开发需要,需要滚动每道评测题, 并且一道评测题单项选择,按钮和文字都可点击选中 (单选比多选复杂一点,但是原理差不多) 1.当初任务紧,代码也没有优化,仅供思路参考,先放几张图 2.代码部分 ...

  4. iOS开发——实用技术OC篇&简单抽屉效果的实现

    简单抽屉效果的实现 就目前大部分App来说基本上都有关于抽屉效果的实现,比如QQ/微信等.所以,今天我们就来简单的实现一下.当然如果你想你的效果更好或者是封装成一个到哪里都能用的工具类,那就还需要下一 ...

  5. iOS开发——动画篇Swift篇&动画效果的实现

    Swift - 动画效果的实现   在iOS中,实现动画有两种方法.一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimation ...

  6. iOS开发小技巧--修改按钮内部图片和文字之间的间距(xib)

    调整按钮的Edge属性,选择调整图片的Edge还是label的Edge,如图:

  7. ios开发之简单实现loading动画效果

    最近有朋友问我类似微信语音播放的喇叭动画和界面图片加载loading界面是怎样实现的,是不是就是一个gif图片呢!我的回答当然是否定了,当然不排除也有人用gif图片啊!下面我就来罗列三种实现loadi ...

  8. radio按钮单选效果

    必须有name,并且是同一值,判断效果可用value值确定

  9. iOS开发小技巧--取消按钮的选中状态

    首先要自定义按钮,并且实现如下方法,对,就是这么实现!!

随机推荐

  1. Visual Studio 2008 添加MScomm控件的方法

    1.下载MSCOMM.zip,解压后包含4个文件:MSCOMM32.OCX, MSCOMM.SRG, MSCOMM32.DEP, MSCOMM32.OCA 2.将Mscomm.srg, Mscomm3 ...

  2. 关于Unity中的特殊文件目录和资源管理(专题四)

    编辑器扩展目录: 1: Editor目录 Editor文件夹可以在根目录下,也可以在子目录里,夹就可以; Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用; ...

  3. confluence + 禅道安装教程

    都是从网上拿的 1. 搭建confluence BE82-LO81-4O25-THDD AAABMQ0ODAoPeJxtkE1rwzAMhu/+FYadXepkYd3AsDQ2rCwfZUkHO7qp ...

  4. Java如何格式化月份?

    在Java中,如何以MMMM格式格式化时间? 这个示例使用SimpleDateFormat('MMMM')构造函数和SimpleDateFormat类的sdf.format(date)方法来格式化月份 ...

  5. CI框架 -- 核心文件 之 Hooks.php

    钩子 - 扩展框架核心 CodeIgniter 的钩子特性提供了一种方法来修改框架的内部运作流程,而无需修改 核心文件.CodeIgniter 的运行遵循着一个特定的流程,你可以参考这个页面的 应用程 ...

  6. memcache -- 使用场景

    memcache:分布式缓存机制 使用场景: 1.对数据的存储要求不高,就算丢失也关系不大(因为memcache是非持久化存储) 2.不适合单机使用,即不适合将memcache和数据库等都放到同一台机 ...

  7. Python——errno

    该模块实现标准的 errno 系统符号,每一个对应于一个整数,名称和描述借鉴了 linux/include/errno.h.  errno.errorcode 包含从 errno 到底层系统中错误名称 ...

  8. ps4 如何导出切片 单个图片

    快捷键C,进行切片 按住ctrl+alt+shift+s存储为WEB格式的,在对话框中按ctrl键选中要导出的切片,右边栏中有JPG还有GIF等格式的,下面选仅选图像,即可,如果你没有设置的话,电脑有 ...

  9. jQuery 文件上传插件:uploadify、swfupload

    jQuery 文件上传插件: uploadify.swfupload

  10. jquery选择器玩得不6啊,只能慢慢写判断了,唉..........................

    jquery选择器玩得不6啊,只能慢慢写判断了,唉..........................