iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >iOS搭建简易购物车页面
  • 393
分享到

iOS搭建简易购物车页面

iOS购物车 2022-11-13 14:11:44 393人浏览 薄情痞子
摘要

本文实例为大家分享了iOS实现简单购物车页面的搭建,供大家参考,具体内容如下 1.基础页面的搭建 在storyboard的cell中创建控件并进行约束,继承自定义的AZWineCel

本文实例为大家分享了iOS实现简单购物车页面的搭建,供大家参考,具体内容如下

1.基础页面的搭建

  • 在storyboard的cell中创建控件并进行约束,继承自定义的AZWineCell
  • 将cell中的子控件和自定义的AZWineCell一一进行连线
@property (weak, nonatomic) IBOutlet UIImageView *iconView;
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
@property (weak, nonatomic) IBOutlet UILabel *priceLabel;
@property (weak, nonatomic) IBOutlet UILabel *countLabel;
@property (weak, nonatomic) IBOutlet AZWineButton *minusBtn;
  • 让商品的增加和删减按钮继承于自定义的按钮,实现自定义样式
-(void)awakeFromNib
{
    self.layer.borderWidth=1;
    self.layer.borderColor=[UIColor orangeColor].CGColor;
    self.layer.cornerRadius=self.frame.size.width*0.5;
}

2.加载模型数据

  • 这里使用懒加载的方式加载数据
-(NSMutableArray *)wineArray
{
    if (!_wineArray) {
        // 获得路径
        NSString *path=[[NSBundle mainBundle]pathForResource:@"wine.plist" ofType:nil];
        // 获得数组
        NSArray *array=[NSArray arrayWithContentsOfFile:path];
        // 创建一个临时数组存放模型数据
        NSMutableArray *tempArray=[NSMutableArray array];
        // 添加模型
        for (NSDictionary *dict in array) {
            //字典转模型
            AZWine *wine=[AZWine wineWithDict:dict];
            // 实现对wine模型内num值变化的监听
            [wine addObserver:self forKeyPath:@"num" options:NSKeyValueObservinGoptionNew|NSKeyValueObservingOptionOld context:nil];
            [tempArray addObject:wine];
        }
        _wineArray=tempArray;

    }
    return _wineArray;;
}
  • 给cell绑定模型数据,在模型的set方法给cell注入数据
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 绑定标识
    static NSString *ID=@"wine";
    // 创建cell
    AZWineCell *cell=[tableView dequeueReusableCellWithIdentifier:ID];
    // 给cell注入数据
    cell.wine=self.wineArray[indexPath.row];
    // 返回cell
    return cell;
}
-(void)setWine:(AZWine *)wine
{
    _wine=wine;

    self.iconView.image=[UIImage imageNamed:wine.image];
    self.nameLabel.text=wine.name;
    self.priceLabel.text=wine.money;
    self.countLabel.text=[NSString stringWithFORMat:@"%zd",wine.num];
    self.minusBtn.enabled=(wine.num>0);

}

3.设置代理,实现对按钮点击事件的监听

  • 自定义协议,提供协议方法供代理调用,监听按钮的点击
@protocol AZWineCellDelegate <NSObject>

@optional

-(void)wineCellDidClickPlusButton:(AZWineCell *)cell;

-(void)wineCellDidClickMinusButton:(AZWineCell *)cell;
@end

@interface AZWineCell : UITableViewCell

@property(nonatomic,strong)AZWine *wine;

@property(nonatomic, weak) id<AZWineCellDelegate> delegate;

@end
  • 修改模型数据,修改界面,通知代理实现协议方法
- (IBAction)minusClick {
    // 修改模型
    self.wine.num--;
    // 修改界面
    self.countLabel.text=[NSString stringWithFormat:@"%zd",self.wine.num];
    // 按钮是否可以点击
    if (self.wine.num==0) {
        self.minusBtn.enabled=NO;
    }
    // 通知代理
    if([self.delegate respondsToSelector:@selector(wineCellDidClickMinusButton:)]){
        [self.delegate wineCellDidClickMinusButton:self];
    }

}
- (IBAction)plusClick {
    // 修改模型
    self.wine.num++;
    // 修改界面
    self.countLabel.text=[NSString stringWithFormat:@"%zd",self.wine.num];
    // 按钮是否可以点击
    self.minusBtn.enabled=YES;
    // 通知代理
    if ([self.delegate respondsToSelector:@selector(wineCellDidClickPlusButton:)]) {
        [self.delegate wineCellDidClickPlusButton:self];
    }
}
  • 实现协议方法,完成总价的刷新
-(void)wineCellDidClickPlusButton:(AZWineCell *)cell
{
    // 计算总价
    int totalPrice=self.totalPriceView.text.intValue+cell.wine.money.intValue;
    // 刷新界面
    self.totalPriceView.text=[NSString stringWithFormat:@"%d",totalPrice];
    // 购买按钮
    self.purchaseBtn.enabled=YES;
    // 购物车
    if (![self.shoppingList containsObject:cell.wine]) {
        [self.shoppingList addObject:cell.wine];
    }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: iOS搭建简易购物车页面

本文链接: https://www.lsjlt.com/news/172056.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • iOS搭建简易购物车页面
    本文实例为大家分享了iOS实现简单购物车页面的搭建,供大家参考,具体内容如下 1.基础页面的搭建 在storyboard的cell中创建控件并进行约束,继承自定义的AZWineCel...
    99+
    2022-11-13
    iOS 购物车
  • Vue实现简易购物车案例
    本文实例为大家分享了Vue实现简易购物车的具体代码,供大家参考,具体内容如下 先来看一下完成后的效果吧。 CSS 部分 这里没什么好说的,就是v-cloak 这一个知识点 ta...
    99+
    2024-04-02
  • js实现简易购物车功能
    本文实例为大家分享了js实现简易购物车功能的具体代码,供大家参考,具体内容如下 一.整体效果图 (关灯下)  (开灯下) 二.HTML代码 <!DOCTYPE...
    99+
    2024-04-02
  • HTML如何实现简易购物车
    今天小编给大家分享一下HTML如何实现简易购物车的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2024-04-02
  • Python实现简易购物车(未完结)
    使用Python完成购物车功能需求:  1.让用户输入金额  2.选择要购买的商品,加入购物车  3.当商品的总价超过了你的金额,提示余额不足  4.让用户输入N结算,输入Q退出 goods = [ {'name':'电脑','...
    99+
    2023-01-31
    购物车 简易 未完结
  • Vue.js如何搭建移动端购物车界面
    这篇文章将为大家详细讲解有关Vue.js如何搭建移动端购物车界面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文介绍了如何使用Vue搭建一个移动端购物车界面,最终实现的...
    99+
    2024-04-02
  • 使用session实现简易购物车功能
    本文实例为大家分享了用session实现简易购物车功能的具体代码,供大家参考,具体内容如下 整体思路:先写一个JSP用于实现商品图片的读取(再次之前要写好连接数据库),当点加入购物车...
    99+
    2024-04-02
  • 如何使用JavaScript做简易的购物车
    这篇文章将为大家详细讲解有关如何使用JavaScript做简易的购物车,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css<style>  &nbs...
    99+
    2024-04-02
  • 怎么使用Android实现购物车页面及购物车效果
    这篇文章主要介绍了怎么使用Android实现购物车页面及购物车效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Android实现购物车页面及购物车效果(点击动画),具体如下...
    99+
    2023-05-30
    android
  • 如何使用session实现简易购物车功能
    这篇文章主要介绍“如何使用session实现简易购物车功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用session实现简易购物车功能”文章能帮助大家解决问题。整体思路:先写一个JSP用于...
    99+
    2023-06-29
  • 如何使用原生JS购物车及购物页面的cookie
    这篇文章主要介绍了如何使用原生JS购物车及购物页面的cookie,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。直接上代码:<!DOCT...
    99+
    2024-04-02
  • 微信小程序实现购物车页面
    微信小程序实现购物车页面,供大家参考,具体内容如下 先来弄清楚购物车的需求。 单选、全选和取消,而且会随着选中的商品计算出总价单个商品购买数量的增加和减少删除商品。当购物车为空时,...
    99+
    2024-04-02
  • JavaScript实现简易购物车最全代码解析(ES6面向对象)
    本文实例为大家分享了JavaScript实现简易购物车的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html> &...
    99+
    2024-04-02
  • 如何使用PHP开发一个简易的购物车功能
    简介:随着电子商务的快速发展,购物车功能在网上商城中是必不可少的一部分。本文将介绍如何使用PHP语言开发一个简易的购物车功能,帮助读者了解购物车的基本原理,并且提供具体的代码示例,以便读者可以更好地理解和实践。一、购物车基本原理在开始开发购...
    99+
    2023-10-21
    PHP购物车 简易购物车 开发购物车功能
  • 怎么使用WebSocket+SpringBoot+Vue搭建简易网页聊天室
    这篇文章主要讲解了“怎么使用WebSocket+SpringBoot+Vue搭建简易网页聊天室”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用WebSocket+SpringBoot+...
    99+
    2023-07-05
  • 如何使用WebSocket+SpringBoot+Vue搭建简易网页聊天室
    今天小编给大家分享一下如何使用WebSocket+SpringBoot+Vue搭建简易网页聊天室的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作