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 ...
随机推荐
- Linux 常见的进程调度算法
1.在介绍进程调度之前,先对进程的状态的概念应该有所了解,下面是关于进程状态的一些基本概念:进程的状态分为三种,分别为: 1).运行态:该状态表明进程在实际占用CPU 2).就绪态: 该状态下进程可以 ...
- 菜鸟学习Spring——初识Spring
一.概念. Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Develop ...
- c++大数模板
自己写的大数模板,参考了小白书上的写法,只是实现了加减乘法,不支持负数,浮点数.. 除法还没写o(╯□╰)o以后再慢慢更吧.. 其实除法我用(xie)的(bu)少(lai),乘法写过fft,这模板还是 ...
- dede 忘记密码在数据库中修改方法
如何找回或修改dedecms后台管理员登录密码呢? 一个客户把密码忘了,找了很长一会没几个靠谱的回答,dede是使用md5加密,但是,它是显示32位md5加密码从第6位开始的20位 方法是直接修改其m ...
- TFS使用指南
上一篇文章已经简略介绍过TFS的安装与管理,本篇文章主要描述一下我个人在工作过程中使用TFS的一些指南与建议.本章内容预览: 1. 项目计划与跟踪 经常有很多朋友在日常聊天中抱怨做计划很无畏,因为计 ...
- My First Django Project (2)
1. 接下来是比较重要的VIEWS.py,您将会比较多的时间在这.有点想.net里面的aspx的cs概念,而aspx就是和接下来要创建的template html相似! 下面是我创建的一个view d ...
- Labview实现脉波调制( PAM )
Labview实现脉波调制( PAM ) 根据定义为脉冲振幅调制 生成一个正弦信号,得到其幅值输入给一个方波信号的幅值 这个等价于一个方波信号和一个正弦信号相乘 得到的PAM信号通过观察其频率可以发现 ...
- 理解CSS居中
我想很多在前端学习或者开发过程中,肯定会遇到如何让你的元素居中的问题,网上google肯定会有很多的解决方法.今天我就个人的项目与学习经验谈谈个人理解css如何让元素居中. 要理解css的居中,首先必 ...
- struts2 action获取ajax提交数据中文乱码问题
有个人和我问题相同,地址在这: 解决方法: 在ajax的属性添加这句:contentType:'application/x-www-form-urlencoded; charset=utf-8',
- 【First Missing Positive】cpp
题目: Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2 ...