UITbaleView上按钮的单选
设置Id属性,标记是哪个cell
@property (nonatomic,assign)NSInteger Id;
设置一个普通状态和选中状态图片不同的按钮
_choose = [[UIButton alloc]init];
[_choose setImage:[UIImage imageNamed:@"about_未勾选"] forState:UIControlStateNormal];
[_choose setImage:[UIImage imageNamed:@"about_勾选"] forState:UIControlStateSelected];
[_choose addTarget:self action:@selector(choosePressed:) forControlEvents:UIControlEventTouchUpInside];
[self.contentView addSubview:_choose];
- (void)layoutSubviews {
_choose.frame = CGRectMake(, +wei_tiao, , );
}
设置一个可调整选中或者为选中的方法
- (void)setChecked:(BOOL)checked {
if (checked) {
_choose.selected = YES;
}else {
_choose.selected = NO;
}
}
cell上按钮的单击事件
/**
* 选择勾选
*
* @param sender 按钮
*/
- (void)choosePressed:(UIButton *)sender {
sender.selected = YES;
if (_chooseBlock) {
_chooseBlock(self.Id);
}
}
设置一个全局变量来判定点了哪一个cell
NSInteger _cellIndex;
tableView代理:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
ShippingAddressCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellID"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.Id = indexPath.row;
if (_cellIndex == indexPath.row) {
[cell setChecked:YES];
}else {
[cell setChecked:NO];
}
[cell setChooseBlock:^(NSInteger index) {
_cellIndex = index;
[_tableView reloadData];
}];
return cell;
}
效果图:
补:使用了block作为属性回调
1.申明block属性
@property (copy, nonatomic) void(^chooseBlock)(NSInteger index);
2.在本类里面调用
if (_chooseBlock) {
_chooseBlock(self.Id);
}
3.使用block属性:
[cell setChooseBlock:^(NSInteger index) {
_cellIndex = index;
[_tableView reloadData];
}];
UITbaleView上按钮的单选的更多相关文章
- [SAP ABAP开发技术总结]选择屏幕——按钮、单选复选框
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- iOS-UITableView-处理cell上按钮事件(弹出警示框,页面跳转等)
一. 目的: 实现UITableViewCell上按钮点击事件可以进行页面跳转. 二. 实现方法: 1. 用协议的方式的实现. 2. 需要自定义UITableViewCell. 三. 代码部分. ce ...
- IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例
IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...
- 主窗体上按钮jig画图时,CAD得不到焦点的问题
主窗体上按钮jig画图时,CAD得不到焦点的问题 按钮不要用 Click 事件,用 MouseDown 事件, 可完美解决该问题 1.试过CAD窗体获得焦点,不顶用 2.试用用命令行去执行,可行 ...
- 使用 CSS 去掉 iPhone 网页上按钮的超大圆角以及文本框圆角默认样式
使用 iPhone 上的浏览器去浏览网页的时候,按钮总是显示超大圆角且颜色由上而下渐变的样式,显得超级恶心,而且文本框也会有一定的圆角,但是我们自己定义 border-radius 也没有效果,经过搜 ...
- 使用 CSS 去掉 iPhone 网页上按钮的超大圆角默认样式
使用 iPhone 上的浏览器去浏览网页的时候,按钮总是显示超大圆角的样式,显得超级恶心,但是我们自己定义 border-radius 为 0 也无法去除这个圆角,经过搜索发现这是 webikt 内核 ...
- Android——点击对话框上按钮不关闭对话框
有时候我没可能需要在点击按钮进行一些检测,但是并不想关闭次对话框(系统默认点击任何一个按钮则关闭对话框),处理方法如下:在点击事件下添加如下代码: try { Field field = dialog ...
- iOS11中navigationBar上 按钮图片设置frame无效 不受约束 产生错位问题 解决
问题描述: 正常样式: 在iOS 11 iPhone X上显示效果: 观察顶部navBar上的左侧按钮 在ios 11 上 这个按钮的图片不受设置的尺寸约束,按其真实大小展示,造成图片错位,影响界 ...
- 获取cell上按钮事件
原由:点击cell上的按钮,无法获取button对应的cell位置 //获取按钮上层控件,也就是cell本身 AccountCell *cell= (AccountCell *)[按钮名称 super ...
随机推荐
- lnmp的使用
命令 1.状态管理 lnmp {start|stop|reload|restart|kill|status} 2.添加虚拟host lnmp vhost add
- Python数学运算
python中的加减乘除比其他的语言简单,不需要对其赋值变量 (1)加减乘除 ) #加法 ) #减法 ) #乘法 ) #除法 5.0 ) #乘方 (2)判断 判断返回的是True或者False ) # ...
- SequoiaDB版本升级及导入导出工具说明
升级SequoiaDB数据库指导 SequoiaDB安装路径:SDB_HOME=/opt/sequoiadb 数据存储路径:DATABASE=/ opt/sequoiadb/database 一.导出 ...
- [shell基础]——tr命令
(1) tr 字符替换 测试文本内容 # cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4. ...
- Mac nginx PCRE install ngnix
1 下载:pcre-8.12.tar.gz ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre 2 sudo tar xvfz pcre-8.1 ...
- java面试资料总结
一.java基础部分 1.一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 可以,但是只能有一个public类,且类名与文件名相同 2.java有没有goto? goto是ja ...
- struts2 action获取ajax提交数据中文乱码问题
有个人和我问题相同,地址在这: 解决方法: 在ajax的属性添加这句:contentType:'application/x-www-form-urlencoded; charset=utf-8',
- JAVA开发CHECK STYLE
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-/ ...
- Oracle窗口函数显示想要的行数
Oracle中支持窗口函数ROW_NUMBER(),其用法和 MSSQLServer2005中相同,比如我们 执行下面的 SQL语句: SELECT * FROM ( SELECT ROW_NUMBE ...
- STL容器的适用情况
转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/ ly; mso-default-props:yes; m ...