国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS購物車界面實現效果示例

2020-07-26 02:56:10
字體:
來源:轉載
供稿:網友

購物軟件不可避免有添加購物車的頁面,那么購物車功能是怎么實現的吶?這里提供一種簡單的思路,插入本地數據庫。

先看效果

頁面結構

本頁面是由一個tableview和底部的底部的bottomView構成

底部的bottomView上有按鈕,也可以添加其他屬性,比如總價格,總重量等參數。

代碼結構


思路

看到這樣的需求,我想到的是插入本地數據庫,每一條數據都有對應的id和其他的例如價格等的參數,根據id插入本地是一條可行的方法,為了避免刷新的時候選中的單元格和沒選中的單元格的復用,我們需要對按鈕做一點操作。

@interface CustomButton : UIButton@property (nonatomic,assign)NSInteger indexPathRow;@end

在這個GoodCell里面自定義協議,為了取到某一行的值。

最重要的是選中與沒選中的按鈕要顯示不同的顏色

#pragma mark - selectedBtnAction-(void)selectedBtnAction:(CustomButton *)btn{  btn.selected=!btn.selected;  [self.delegate GoodsCellDelegateWithIndexPath:btn.indexPathRow];}-(void)configWithModel:(GoodsModel *)model{  self.model = model;  if (model.btnIsSelected==YES) {    [self.selectedBtn setImage:[UIImage imageNamed:@"sendcar_selected"] forState:UIControlStateNormal];  }else{    [self.selectedBtn setImage:[UIImage imageNamed:@"sendcar_unselected"] forState:UIControlStateNormal];  }  //運單號  self.cardLabel.text = [NSString stringWithFormat:@"運單號:%@",self.model.Ticket_No];}

控制器界面

代理協議的實現

#pragma mark - delegate-(void)GoodsCellDelegateWithIndexPath:(NSInteger)indexPathRow{  GoodsModel *cacheModel = self.dataArr[indexPathRow];  if (cacheModel.btnIsSelected) {//    NSLog(@"YES==%@",cacheModel.Ticket_No);    cacheModel.btnIsSelected = NO;  } else {//    NSLog(@"NO==%@",cacheModel.Ticket_No);    cacheModel.btnIsSelected = YES;  }  //插入---刪除  反復切換  [self.dataManager insertDataFromModel:cacheModel Ticket_No:cacheModel.Ticket_No];   //每次執行插入刪除操作就會刷新底部的車輛的按鈕  [self reloadBottonViewUI];  [self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:indexPathRow inSection:0]] withRowAnimation:UITableViewRowAnimationNone];}
#pragma mark - 刷新底部的選車的數量  reloadBottonViewUI-(void)reloadBottonViewUI{  if ([self.dataManager getAllGoodsArrCount]>0) {    [self.toSelectCarBtn setTitle:[NSString stringWithFormat:@"去發車(%ld)",(long)[self.dataManager getAllGoodsArrCount]] forState:UIControlStateNormal];  }else{    [self.toSelectCarBtn setTitle:@"去發車" forState:UIControlStateNormal];  }}

去往下個頁面需要選中的有數據

#pragma mark - 去選車-(void)toSelectCarBtnAction{  if ([self.dataManager getAllGoodsArrCount]>0) {    //do something    [self showSingleAlertViewWith:self title:@"提示" message:@"do something"];  }else{    [self showSingleAlertViewWith:self title:@"提示" message:@"請選擇物品"];  }}

代碼下載:PurchuseCar_Demo_jb51.rar

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江城| 乌兰察布市| 新宁县| 泽州县| 镇原县| 江北区| 顺义区| 株洲县| 陕西省| 抚宁县| 安溪县| 横峰县| 聂荣县| 靖边县| 阿勒泰市| 通辽市| 勃利县| 奉化市| 嘉定区| 嘉祥县| 阿拉善右旗| 龙南县| 顺义区| 贵州省| 南城县| 从化市| 乌兰县| 绥中县| 绥化市| 绥中县| 巴林右旗| 新郑市| 顺昌县| 东山县| 五寨县| 新疆| 七台河市| 桑日县| 高邮市| 北碚区| 腾冲县|