iOS UIStepper 加减计数器

我们经常看到购物车选购数量的时候可以加减,可以使用系统的框架UIStepper,也可以自己写,两种方法都很简单

方法一:(UIStepper)

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

    UIStepper *stepper = [[UIStepper alloc] init];

    stepper.minimumValue = 0;//最大值

    stepper.maximumValue = 5;//最小值

    stepper.stepValue = 1;// 每次增减值

    stepper.value = 0;//当前值

    stepper.continuous = YES;//是否循环,默认循环

    stepper.wraps = YES;// 判断是否循环,即到最大值后又从最小值开始

    stepper.tintColor = [UIColor purpleColor];//设置按钮的颜色

    [stepper setBackgroundColor:[UIColor whiteColor]];//设置背景颜色

    stepper.center = CGPointMake(160, 240);

    [stepper addTarget:self action:@selector(valueChanged:) forControlEvents:(UIControlEventValueChanged)];

    [self.view addSubview:stepper];

    

    self.label = [[UILabel alloc] init];

    self.label.frame = CGRectMake(150, 300, 40, 30);

    self.label.backgroundColor = [UIColor redColor];

    [self.view addSubview:self.label];

}


- (void)valueChanged:(UIStepper *)stepper

{

    [self.view viewWithTag:200].alpha = stepper.value;

   

    self.label.text = [NSString stringWithFormat:@"%.2f", stepper.value];

    NSLog(@"%f", stepper.value);

}


方法二:

自定义两个Button,实现方法是自增自减

- (void)viewDidLoad {

    [super viewDidLoad];

    self.title = @"小测试";

    self.view.backgroundColor = [UIColor whiteColor];

    

    self.numberChange = 0;

    

    self.minusButton = [UIButton buttonWithType:UIButtonTypeSystem];

    

    self.minusButton.frame = CGRectMake(100, 120, 30, 30);

    [self.minusButton setTitle:@"-" forState:UIControlStateNormal];

    self.minusButton.backgroundColor = [UIColor grayColor];

    self.minusButton.layer.cornerRadius = self.minusButton.frame.size.width / 2;

    self.minusButton.layer.masksToBounds = YES;

    self.minusButton.clipsToBounds = YES;

    [self.minusButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

    [self.minusButton addTarget:self action:@selector(minusNumber:) forControlEvents:UIControlEventTouchUpInside];

    

    [self.view addSubview:self.minusButton];

    

    self.numberLabel = [[UILabel alloc]initWithFrame:CGRectMake(self.minusButton.frame.origin.x + self.minusButton.frame.size.width + 5, self.minusButton.frame.origin.y, self.minusButton.frame.size.width, self.minusButton.frame.size.height)];

    

    self.numberLabel.textAlignment = NSTextAlignmentCenter;

    self.numberLabel.textColor = [UIColor lightGrayColor];

    self.numberLabel.font = [UIFont systemFontOfSize:14.0];

    self.numberLabel.text = [NSString stringWithFormat:@"%ld",self.numberChange];

    

    [self.view addSubview:self.numberLabel];

   

    self.addButton = [UIButton buttonWithType:UIButtonTypeSystem];

    

    self.addButton.frame = CGRectMake(self.numberLabel.frame.origin.x + self.numberLabel.frame.size.width + 5, self.numberLabel.frame.origin.y, self.numberLabel.frame.size.width, self.numberLabel.frame.size.height);

    [self.addButton setTitle:@"+" forState:UIControlStateNormal];

    [self.addButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

    self.addButton.layer.cornerRadius = self.minusButton.frame.size.width / 2;

    self.addButton.backgroundColor = [UIColor grayColor];

    [self.addButton addTarget:self action:@selector(addNumber:) forControlEvents:UIControlEventTouchUpInside];

    

    [self.view addSubview:self.addButton];

    

}



#pragma mark -- UIButtonAction

//减数字

- (void)minusNumber:(UIButton *)button

{

    if (self.numberChange == 0) {

        return;

    }else{

        self.numberChange --;

        self.numberLabel.text = [NSString stringWithFormat:@"%ld", self.numberChange];

    }

    

}

//加数字

- (void)addNumber:(UIButton *)button{

    

    if (self.numberChange >= 10) {

        return;

    }else {

        self.numberChange ++;

        self.numberLabel.text = [NSString stringWithFormat:@"%ld", self.numberChange];

    }

    

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值