博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios14--购物车优化2
阅读量:6350 次
发布时间:2019-06-22

本文共 5306 字,大约阅读时间需要 17 分钟。

////  ViewController.m//  03-综合练习////  Created by xiaomage on 15/12/28.//  Copyright © 2015年 小码哥. All rights reserved.//#import "ViewController.h"@interface ViewController ()// 购物车@property (weak, nonatomic) IBOutlet UIView *shopCarView;// 添加按钮@property (weak, nonatomic) IBOutlet UIButton *addButton;// 删除按钮@property (weak, nonatomic) IBOutlet UIButton *removeButton;/** 数据数组 */@property (nonatomic, strong) NSArray *dataArr;@end@implementation ViewController/** *  懒加载    1.作用:    1>用到的时候再加载    2>全局只会被加载一次    3>全局都可以使用     过程:    1.重写成员变量的get方法    2.在get方法中判断:      1>如果为空,加载数据      2>如果不为空,就直接返回数据 */- (NSArray *)dataArr{    if (_dataArr == nil) {        // 加载数据        self.dataArr = @[                     @{
@"name":@"单肩包", @"icon":@"danjianbao"}, @{
@"name":@"钱包", @"icon":@"qianbao"}, @{
@"name":@"链条包", @"icon":@"liantiaobao"}, @{
@"name":@"手提包", @"icon":@"shoutibao"}, @{
@"name":@"双肩包", @"icon":@"shuangjianbao"}, @{
@"name":@"斜挎包", @"icon":@"xiekuabao"} ]; } return _dataArr;}// 初始化数据- (void)viewDidLoad { [super viewDidLoad]; // NSArray
*dataArr = @[// @{@"name":@"单肩包", @"icon":@"danjianbao"},// @{@"name":@"钱包", @"icon":@"qianbao"},// @{@"name":@"链条包", @"icon":@"liantiaobao"},// @{@"name":@"手提包", @"icon":@"shoutibao"},// @{@"name":@"双肩包", @"icon":@"shuangjianbao"},// @{@"name":@"斜挎包", @"icon":@"xiekuabao"}// ];// self.dataArr = dataArr;}/** * 添加到购物车 * * @param button 按钮 */- (IBAction)add:(UIButton *)button {/***********************1.定义一些常量*****************************/ // 1.总列数 NSInteger allCols = 3; // 2.商品的宽度 和 高度 CGFloat width = 80; CGFloat height = 100; // 3.求出水平间距 和 垂直间距 CGFloat hMargin = (self.shopCarView.frame.size.width - allCols * width) / (allCols -1); CGFloat vMargin = (self.shopCarView.frame.size.height - 2 * height) / 1; // 4. 设置索引 NSInteger index = self.shopCarView.subviews.count; // 5.求出x值 CGFloat x = (hMargin + width) * (index % allCols); CGFloat y = (vMargin + height) * (index / allCols); /***********************2.创建一个商品*****************************/ // 1.创建商品的view UIView *shopView = [[UIView alloc] init]; // 2.设置frame shopView.frame = CGRectMake(x, y, width, height); // 3.设置背景颜色 shopView.backgroundColor = [UIColor greenColor]; // 4.添加到购物车 [self.shopCarView addSubview:shopView]; // 5.创建商品的UIImageView对象 UIImageView *iconView = [[UIImageView alloc] init]; iconView.frame = CGRectMake(0, 0, width, width); iconView.backgroundColor = [UIColor blueColor]; [shopView addSubview:iconView]; // 6.创建商品标题对象 UILabel *titleLabel = [[UILabel alloc] init]; titleLabel.frame = CGRectMake(0, width, width, height - width); titleLabel.backgroundColor = [UIColor yellowColor]; titleLabel.textAlignment = NSTextAlignmentCenter; // 居中 [shopView addSubview:titleLabel]; /***********************3.设置数据*****************************/ // 方式四 (数组 + 字典) /* NSArray
*dataArr = @[ @{@"name":@"单肩包", @"icon":@"danjianbao"}, @{@"name":@"钱包", @"icon":@"qianbao"}, @{@"name":@"链条包", @"icon":@"liantiaobao"}, @{@"name":@"手提包", @"icon":@"shoutibao"}, @{@"name":@"双肩包", @"icon":@"shuangjianbao"}, @{@"name":@"斜挎包", @"icon":@"xiekuabao"} ]; */ // 懒加载 /* if (self.dataArr == nil) { self.dataArr = @[ @{@"name":@"单肩包", @"icon":@"danjianbao"}, @{@"name":@"钱包", @"icon":@"qianbao"}, @{@"name":@"链条包", @"icon":@"liantiaobao"}, @{@"name":@"手提包", @"icon":@"shoutibao"}, @{@"name":@"双肩包", @"icon":@"shuangjianbao"}, @{@"name":@"斜挎包", @"icon":@"xiekuabao"} ]; } */ // 设置数据 NSDictionary *dict = self.dataArr[index];//调用get方法 iconView.image = [UIImage imageNamed:dict[@"icon"]]; titleLabel.text = dict[@"name"];/***********************4.设置按钮的状态*****************************/ button.enabled = (index != 5); // 5.设置删除按钮的状态 self.removeButton.enabled = YES; }/** * 从购物车中删除 * * @param button 按钮 */- (IBAction)remove:(UIButton *)button { // 1. 删除最后一个商品 UIView *lastShopView = [self.shopCarView.subviews lastObject]; [lastShopView removeFromSuperview]; // 3. 设置添加按钮的状态 self.addButton.enabled = YES; // 4. 设置删除按钮的状态 /* if (self.shopCarView.subviews.count == 0) { self.removeButton.enabled = NO; } */ self.removeButton.enabled = (self.shopCarView.subviews.count != 0); }@end

 

本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/7449679.html,如需转载请自行联系原作者

你可能感兴趣的文章
一、Lambda表达式
查看>>
linux 命令
查看>>
大二下周总结四
查看>>
转 常见视频编码方式以及封装格式
查看>>
灾后重建
查看>>
Nothing 和 Is
查看>>
第一个sprint冲刺第三天
查看>>
【As Easy As A+B - 专题训练-排序】
查看>>
cocos creator 底部按钮touch延迟
查看>>
vue中的input使用e.target.value赋值的问题
查看>>
数据库跨库访问问题
查看>>
关于FindComponent的使用,简化一些过程
查看>>
jq动态生成数据后绑定事件
查看>>
||和 && 符号的赋值运用(转)
查看>>
post提交返回json格式
查看>>
Java.lang 包中的Void类型
查看>>
正确理解linux grep 的姿势
查看>>
路径中 斜杠/和反斜杠\ 的区别【转】
查看>>
并发编程之 Java 内存模型 + volatile 关键字 + Happen-Before 规则
查看>>
hdu 4414 Finding Crosses && hdu 4417 Super Mario
查看>>