购物车界面,不同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];

}

时间: 2024-12-09 01:13:17

购物车界面,不同section,点击增减物品,确定取消选中的逻辑判断的相关文章

iOS 实现一个类似电商购物车界面示例

iOS 实现一个类似电商购物车界面示例 先看界面效果图: 主要实现了商品的展示,并且可以对商品进行多选操作,以及改变商品的购买数量.与此同时,计算出,选中的总价格. 做此类型项目:要注意的:视图与数据要分离开来.视图的展现来源是数据模型层.所以我做的操作就是改变数据层的内容,在根据数据内容,去更新视图界面. 已下是具体实现思路与代码: 1. 实现步骤 在AppDelegate.m中包含ViewController.h头文件,创建ViewController对象(vc),接着创建一个UINavig

JAVA面向对象编程之购物车界面的设计与功能的实现

1.小组成员及分工 小组成员 负责工作 兰泽祥 负责总体界面.Git代码库 吴修恩 负责MVC模式.类名包名的规范化 2.Git 仓库地址 仓库地址:https://gitee.com/lanzexiang/shopping_cart.git 3.界面展示 ①登录界面 ②菜单界面 ③商城界面 ④商品搜索界面 ⑤购物车界面 ⑥订单界面 4.几个亮点功能介绍 1.购物车界面与订单界面 购物车界面与订单节单界面总体采用BorderLayout()布局,在BorderLayout()的中部使用CardL

EasyUI带选择框的DataGrid实现点击行&quot;不选中或取消选中&quot;的解决方法。

1 var IsCheckFlag = true; //标示是否是勾选复选框选中行的,true - 是 , false - 否 2 $("#dg").datagrid({ 3 rownumbers:true, 4 url: 'LeadsData.ashx?o=list', 5 method:'get', 6 fit: true, 7 striped:true, 8 pagination: true, 9 fitColumns: true, 10 checkOnSelect: false

点击文字使RadioButton被选中

<html><head><title>标题页</title></head><body><br><input type="radio" name="myLike" value="Like1" id="Like1"><label for="Like1"> 体育运动:NBA</label> &l

EasyUI带选择框的DataGrid实现点击行"不选中或取消选中"的解决方法

var IsCheckFlag = true; //标示是否是勾选复选框选中行的,true - 是 , false - 否  $("#dg").datagrid({      rownumbers:true,      url: 'LeadsData.ashx?o=list',      method:'get',      fit: true,      striped:true,      pagination: true,      fitColumns: true,     c

web前端html实例-点击相文字选中和取消选中checkbox复选框

checkbox复选框大家应该不会陌生,点击此元素可以实现选中或者取消效果. 下面介绍一种更为人性化的措施,点击指定相关内容即可以实现选中和取消选中效果. 代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" />

Android Splash界面支持用户点击 直接进入主界面

现在随便下载一个app,打开都有一个Splash界面,为什么一进去就有一个splash界面呢?其实用户打开你的产品,希望用最少的信息给用户最多的信息量,让用户知道这是一款什么产品,这是说产品方面的,还有一个是功能方面的,比如数据库的拷贝,版本更新,还有一个重要的就是展示该公司的logo等等,现在的移动互联网相当于pC端对产品的体验更讲究,我们现在发现一个很好的产品它未必能马上能给这公司盈利,但是用户量大时,表示用户对你的产品认可,那么公司融资就比较简单了,废话不多说 如果splash什么都不做,

网站购物车界面(div+css实现)

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>叮咚网购物车</title><style type="text/css">.main{width:100%;height:590px;border:1px solid #000;text-decoration: none;}.top{width:100%;height:52

Java Swing 线程执行任务(不然界面一直处于不可点击状态)

/** * 使用了线程中断在swing进度条中的应用,在run()中调用JProgressBar的setValue()方法. * <p> * 本例应用了线程的中断,2种中断方法: * <ul> * <li>运用interrupt()方法</li> * <li>在run()中使用无限循环,然后用一个布尔什标记去控制循环的停止</li> * </ul> * 另外,还有内部类与匿名内部类的分别使用. * * @author HA