购物车界面,不同section,点击增减物品,确定取消选中的逻辑判断
1、首先在自定义的cell中,创建两个代理方法
@protocol shopCartDelegate <NSObject>
-(void)shopCartDelegate:(ShopCartCell *)cell WithBtn:(UIButton *)btn;
-(void)shopCartDelegateNum:(ShopCartCell *)cell WithBtn:(UIButton *)btn;
@end
@interface ShopCartCell : UITableViewCell
@property(nonatomic,assign)id<shopCartDelegate>delegate;
@end
2、在viewcontroller中实现这两个代理方法
shopCell.delegate = self;//遵循代理
方法实现
(1)选中和取消的代理方法
-(void)shopCartDelegate:(ShopCartCell *)cell WithBtn:(UIButton *)btn
{
NSIndexPath *indexPath =[self.tableView indexPathForCell:cell];
int couss=0 ;
NSArray *array =self.array[indexPath.section];
for (int i =0; i<array.count; i++) {
ShopModel *model =array[i];
if (i==indexPath.row) {
if (btn.selected) {
model.isSelected = @"true";
}else{
model.isSelected = @"false";
}
}
if ([model.isSelected isEqualToString:@"true"]) {
couss++;
}
}
//判断section内的cell是否都被选中
if (couss == array.count) {
self.isonOff = NO;
}else{
self.isonOff = YES;
}
[self.tableView reloadData];
}
(2)增加减少
-(void)shopCartDelegateNum:(ShopCartCell *)cell WithBtn:(UIButton *)btn
{
NSIndexPath *indexPath =[self.tableView indexPathForCell:cell];
NSArray *array =self.array[indexPath.section];
for (int i =0; i<array.count; i++) {
ShopModel *model =array[i];
if (i==indexPath.row) {
if (btn.tag == 2000) {
model.num =[NSString stringWithFormat:@"%d",model.num.intValue+1];
}else{
if (model.num.intValue == 1) {
}else{
model.num =[NSString stringWithFormat:@"%d",model.num.intValue-1];
}
}
}
}
[self.tableView reloadData];
}
购物车界面,不同section,点击增减物品,确定取消选中的逻辑判断的更多相关文章
- JAVA面向对象编程之购物车界面的设计与功能的实现
1.小组成员及分工 小组成员 负责工作 兰泽祥 负责总体界面.Git代码库 吴修恩 负责MVC模式.类名包名的规范化 2.Git 仓库地址 仓库地址:https://gitee.com/lanzexi ...
- ContactDetail 和 ContactEditor 界面头像响应点击过程
1,联系人详情界面 ContactDetailFragment中处理,ViewAdapter装载数据显示头像 private final class ViewAdapter extends BaseA ...
- 在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了?
在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了? 在删除成功后,加上这句话就可以了:$("#dg").datagrid ...
- jquery 复选框全选/全不选切换 普通DOM元素点击选中/取消选中切换
1.要选中的复选框设置统一的name 用prop() prop() 方法设置或返回被选元素的属性和值. $("#selectAll").click(function(){ $(&q ...
- input选中 和 select点击下拉选择获取选中选项的值
1.input选中$('#checkBox').find('input').each(function(i){ if($(this).prop('checked')){//获取是否选中 并判断 $(t ...
- Android Splash界面支持用户点击 直接进入主界面
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/23613403 现在大部分APP都有Splash界面,下面列一下Splash页面的 ...
- unigui ios微信界面错位和点击失灵问题
IOS微信下会出现二个严重问题: 1.输入框失去焦点导致控件错位,造成无点正常点击. 此问题是微信自带浏览器,一直遗留问题, 尝试了多种方法始终无解.因此要用来开发公众号的一定要注意. 2.界面下移 ...
- linux系统(CentOS7)虚拟机上安装oracle 11g,解决oracle图形界面卡住无法点击next问题
https://www.cnblogs.com/nichoc/p/6416475.html
- 2-微信小程序开发(开发界面说明,按钮点击切换显示内容)
说一个功能,大家在用微信实现控制设备的时候,是不是都在为绑定设备发愁. 我看了很多厂家的微信控制,大部分都只是可以用微信给设备配网,但是没有做用微信绑定的. 一般做绑定都是用设备的MAC地址. 这里我 ...
随机推荐
- Chrome 调试动态加载的js
今天有个同事问到我用chrome调试动态加载js的问题,这个问题之前遇到过,只是时间有点长了,有些忘记.在这里做一下记录: 在要调试的源码的后面加上 //@ sourceURL= debug.js 注 ...
- math.h--------数学函数
三角函数 1.cos 函数 --- 求x的余弦值,返回弧度x的余弦值.(弧度=角度×PI/180). 函数原型 double cos(double x); 函数参数:弧度值 用例:v = cos (x ...
- IIS部署WCF
IIS部署WCF [转载自——http://www.cnblogs.com/starksoft/p/4992059.html] 1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协议的服 ...
- 初始化成员列表 ——— 类的const成员和引用成员的初始化
class A { public: A(){}; const int num; CString& s; } A::A() { cout<<A con<<endl; } ...
- struts2下s:iterator取不出值
1:问题起因:通过action方法连接数据库取出Arraylist集合,在前台页面遍历显示无数据,用s:debug查看 stack里有值,用了各种方法,包括session传值,但是仍然取不出来. 2: ...
- delphi XE Berlin ReadProcessMemory WriteProcessMemory
delphi XE,Berlin [dcc32 Error] Unit9.pas(93): E2033 Types of actual and formal var parameters must ...
- php json_encode中文unicode问题
php调用json_encode将中文字符串存入mysql后读取出来有问题,发现存进去的时候把'\'给去掉了.解决方法是调用json_encode时候后面加JSON_UNESCAPED_UNICODE ...
- jenkins+findbugs
1) Jenkins安装findbugs插件 具体安装步骤:在主页面进入系统管理 选择插件管理 在过滤器中找出要安装的插件,并进行安装(Static Analysis Utilities.findb ...
- Intel 82599 万兆网卡
http://www.cnblogs.com/zhuyp1015/archive/2012/08/23/2653264.html http://bbs.chinaunix.net/thread-424 ...
- swift 批量 取出中间文本
func stringmid_pl (wholestring:String,front:String,behind:String,inout return_string:String,getheroi ...