ios12--简易购物车

Posted 672530440

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios12--简易购物车相关的知识,希望对你有一定的参考价值。

Assets.xcassets图片是拖到右边里面去的。

 

//
//  ViewController.m
//  03-综合练习
//

#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, assign) NSInteger index;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // 给下标赋值
//    self.index = 0;
    
//    // 裁剪多余部分(不可取)
//    self.shopCarView.clipsToBounds = YES;
}

/**
 *  添加到购物车
 *
 *  @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];
    
/***********************3.设置按钮的状态*****************************/
//    if (index == 5) {
//        button.enabled = NO;
//    }
    button.enabled = (index != 5);
    
    // 5.设置删除按钮的状态
    self.removeButton.enabled = YES;
    
    // 让下标+1
//    self.index += 1;
}

/**
 *  从购物车中删除
 *
 *  @param button 按钮
 */
- (IBAction)remove:(UIButton *)button {
    // 1. 删除最后一个商品
    UIView *lastShopView = [self.shopCarView.subviews lastObject];
    [lastShopView removeFromSuperview];
    
    // 2.设置索引值 -1
//    self.index -= 1;
    
    // 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

 

以上是关于ios12--简易购物车的主要内容,如果未能解决你的问题,请参考以下文章

python 简易购物车程序解析

python基础--基础简易购物车程序

Python 练习题_简易购物车

Vue实现简单的列表金额计算效果(简易购物车)

Python 练习1——简易购物车

如何从 recyclerview 片段传递到另一个 recyclerview 片段