UI基础-day02-Shopping-04优化添加和删除功能

UI基础-day02-Shopping-01搭建商城基本框架
UI基础-day02-Shopping-02添加一个商品
UI基础-day02-Shopping-03九宫格排序

效果图

需求:

  1. 点击'➖'实现删除功能
    • 商品没有后,'➖'功能不可用
    • 只要点击'➕',则'➖'恢复可以状态
  2. 点击'➕'实现添加功能
    • 购买商品,超出最大购买数量则'➕'功能,不可用.
  3. 裁剪超出View的商品

代码

点击'➕'按钮的添加事件

-(void)btnAddViewClick{
......
//控制按钮(➕,➖)状态(1.只要点击➕,btnRemove就可用. 2.超过最大商品数,btnAdd就不可以用)
    self.btnRemove.enabled = YES;
    NSUInteger shopTempNum = self.shopView.subviews.count;//获取子控件的个数
    if (shopTempNum >= shopMaxNum) {
        self.btnAdd.enabled = NO;
    }
}

点击'➖'按钮的删除事件

-(void)btnRemoveViewClick{
    //删除shopView里面最后一个子控件
    [self.shopView.subviews.lastObject removeFromSuperview];
    //控制按钮(➕,➖)状态(1.只要点击➖,btnAdd就可用. 2.没有商品,btnRemove就不可以用)
    self.btnAdd.enabled = YES;
    NSUInteger shopTempNum = [self.shopView.subviews count];
    if(shopTempNum == 0){
        self.btnRemove.enabled = NO;
    }
}

知识点

裁剪超出View的商品

#import "ViewController.h"
static const NSUInteger shopMaxNum = 12; //商品最大个数(静态常量)
......
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    ......
    self.shopView.clipsToBounds = YES; //裁剪超出View的商品
}
裁剪前-效果图

裁剪后-效果图

static const NSUInteger shopMaxNum = 12;

  1. static修饰的变量必须放在@implementation外面或方法中
  2. 它只在程序启动初始化一次。
  3. const修饰的变量是不可变的

你可能感兴趣的:(UI基础-day02-Shopping-04优化添加和删除功能)