Ios中checkBox
- //使用tableview来进行布局checkBox.便于全选,全不选
//radiobutton 适合用RadioButton- #import <UIKit/UIKit.h>
- @interface CheckView : UIView<UITableViewDataSource,UITableViewDelegate>
- - (id)initWithFrame:(CGRect)frame Data:(NSArray *)data;
- -(void)CkNotAllSelect;
- -(void)CkAllSelect;
- @end
- #import "CheckView.h"
- #import "CommonButton.h"
- #define Kcount 3
- @interface CheckView (){
- UITableView *_tableview;
- }
- @property(nonatomic,retain)NSArray *MyData;
- @property(nonatomic,retain)NSMutableArray *chooseArrary;
- @end
- @implementation CheckView
- - (id)initWithFrame:(CGRect)frame Data:(NSArray *)data
- {
- self = [super initWithFrame:frame];
- if (self) {
- self.MyData=data;
- _tableview=[UITableView TableViewWithFrame:self.bounds style:UITableViewStylePlain backgroundColor:[UIColor clearColor] delegate:self separatorStyle:UITableViewCellSeparatorStyleSingleLine];
- _tableview.rowHeight=;
- [self addSubview:_tableview];
- self.chooseArrary =[NSMutableArray arrayWithCapacity:];
- for (int i=; i<data.count; i++) {
- [self.chooseArrary addObject:[NSNumber numberWithBool:NO]];
- }
- }
- return self;
- }
- -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
- return ;
- }
- -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
- return self.MyData.count%Kcount==?self.MyData.count/Kcount:self.MyData.count/Kcount+;
- }
- -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
- static NSString *cellIndentify=@"CheckView";
- UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIndentify];
- if (cell==nil) {
- cell=[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIndentify] autorelease];
- }
- int row=indexPath.row*Kcount;
- int width=tableView.bounds.size.width/Kcount;
- CGRect leftRect,rect=CGRectMake(, , tableView.bounds.size.width, tableView.rowHeight);
- for(int i=row;i<row+Kcount;i++){
- if(i>=self.MyData.count) break;
- else{
- CGRectDivide(rect, &leftRect, &rect, width, CGRectMinXEdge);
- CommonButton *btn=[[CommonButton alloc] initWithFrame:leftRect];
- [btn setTitle:self.MyData[i] forState:UIControlStateNormal];
- BOOL flag=[[self.chooseArrary objectAtIndex:i] boolValue];
- if (flag) {
- [btn setImage:[UIImage imageNamed:@"radio_selected"] forState:UIControlStateNormal];
- }
- else{
- [btn setImage:[UIImage imageNamed:@"radio_normal"] forState:UIControlStateNormal];
- }
- [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
- btn.tag=i;
- [cell addSubview:btn];
- }
- }
- return cell;
- }
- -(void)click:(CommonButton *)btn{
- NSLog(@"-->%zi",btn.tag);
- int tag=btn.tag;
- BOOL flag=[[self.chooseArrary objectAtIndex:tag] boolValue];
- if (flag) {
- [self.chooseArrary replaceObjectAtIndex:tag withObject:[NSNumber numberWithBool:!flag]];
- [btn setImage:[UIImage imageNamed:@"radio_normal"] forState:UIControlStateNormal];
- }
- else{
- [self.chooseArrary replaceObjectAtIndex:tag withObject:[NSNumber numberWithBool:!flag]];
- [btn setImage:[UIImage imageNamed:@"radio_selected"] forState:UIControlStateNormal];
- }
- }
- -(void)CkAllSelect{
- for (int i=; i<self.MyData.count;i++) {
- [self.chooseArrary replaceObjectAtIndex:i withObject:[NSNumber numberWithBool:YES]];
- }
- [_tableview reloadData];
- }
- -(void)CkNotAllSelect{
- for (int i=; i<self.MyData.count;i++) {
- [self.chooseArrary replaceObjectAtIndex:i withObject:[NSNumber numberWithBool:NO]];
- }
- [_tableview reloadData];
- }
- - (void)dealloc
- {
- [_chooseArrary release];
- [_MyData release];
- [super dealloc];
- }
- @end
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- // [self RadioButtonSelect];
- // UIButton *btn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
- // btn.frame=CGRectMake(0, 100, 50,50);
- // [self.view addSubview:btn];
- // [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
- NSArray *arr=@[@"标题1",@"标题2",@"标题3",@"标题4"];
- CheckView *checkView=[[CheckView alloc] initWithFrame:CGRectMake(, , , ) Data:arr];
- _CK=checkView;
- [self.view addSubview:checkView];
- [checkView release];
- }
Ios中checkBox的更多相关文章
- iOS中textbox文本框清除圆角
在iOS.Mac safari中,所有的textbox, select, checkbox都会被强制美化为圆角.但在特殊情况下需要清除圆角时发现iOS中使用以下传统的css无效: border-rad ...
- 解决ios中input兼容性问题
1.解决input输入框在iOS中有阴影问题 input{ -webkit-appearance: none; } 2.checkbox.raido在ios中阴影问题 单选: ...
- iOS中支付宝集成
iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...
- iOS中数据库应用基础
iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...
- 正则表达式在iOS中的运用
1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- iOS 中的 HotFix 方案总结详解
相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...
- iOS中使用正则
一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- IOS中div contenteditable=true无法输入
在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入.加一个样式-webkit-user-sele ...
- 谈谈iOS中的屏幕方向
众所周知,iOS中提供了[UIDevice currentDevice].orientation与[UIApplication sharedApplication].statusBarOrientat ...
随机推荐
- Go语言之进阶篇连接mysql
一.Go连接mysql 1.mysql驱动 地址:https://github.com/Go-SQL-Driver/MySQL 说明: sql.Open()函数用来打开一个注册过的数据库驱动,Go-M ...
- MultipleRegularExpressionAttribute MVC中扩展自定义验证规则
好久都没有写博客,最近工作中没有什么可写的,公司的项目是以业务为重,技术含量实在不咋的.这次sprint中有一个要求就是password必须一些规则,比如给你一些正则表达式必须满足几个,直接看效果吧 ...
- JavaScript学习笔记——错误处理
说明:参见<JavaScript高级程序设计>第14章. 一. 错误分类 1. 语法错误 也称为解析错误,发生在传统编程语言的编译时,在JavaScript中发生在 ...
- ztree默认自动打开第一级
var treeObj = $.fn.zTree.getZTreeObj("tree"); var nodes = treeObj.getNodes(); if (nodes.le ...
- Ubuntu SVN安装&使用&命令
SVN 安装 apt-get install subversion checkout svn checkout svn://192.168.1.110/app 按提示输入相应的用户名和密码. 往版本库 ...
- Everything常见问题及搜索技巧,附Demo
1 Everything 1.1 "Everything"是什么? "Everything"是一个运行于Windows系统,基于文件.文件夹名称的快速搜索引擎. ...
- .NET 服务器定位模式(Service Locator Pattern)——Common Service Locator
本文内容 场景 目标 解决方案 实现细节 思考 相关模式 更多信息 参考资料 Common Service Locator 代码很简单,它一般不会单独使用,而是作为一个单件模式,与像 .net Uni ...
- MyBatis - (二) 一对一映射和一对多映射
1. 一对一映射 例子表: 学生表 地址表 POJO类 public class Address { private Integer addrId; private String street; pr ...
- 用一条sql取得第10到第20条的记录-Mssql数据库
因为id可能不是连续的,所以不能用取得10<id<20的记录的方法. 有三种方法可以实现: 一.搜索前20条记录,指定不包括前10条 语句: select top 20 * from tb ...
- bootstrap——强大的网页设计元素模板
本文介绍一个网页设计工具——bootstrap,它包含了很多华丽的按钮及排版,我们可以在网页设计中直接使用它,尤其是加入我们只是想简单的使用一下的话,将会是一个不错的选择,下面是几张examples, ...