iOS 技术分享

iOS - 评价星级

2020-08-06  本文已影响0人  Joh蜗牛

1.通过xib布局,添加五个按钮,并设置tag值:

给星星按钮设置tag值

2.关联属性,将五个按钮放入同个数组中:

@property (nonatomic, strong) IBOutletCollection(UIButton) NSArray *starAry;

3.按钮添加点击事件:

- (IBAction)starAction:(UIButton *)sender {

    // 有星星
    UIImage *starImg = [UIImage imageNamed:@"star"];
    // 无星星
    UIImage *noStarImg = [UIImage imageNamed:@"noStar"];


    // 默认全为无星星
    for (UIButton *starBtn in self.starAry) {
        [starBtn setImage:noStarImg forState:0];
    }

    // 取当前点击星星及前面的星星,置为有星星
    NSInteger tag = sender.tag / 100 - 1;
    for (int i = 0; i < tag + 1; i++) {
        UIButton *starBtn = self.starAry[I];
        [starBtn setImage:starImg forState:0];
    }

    NSArray *starStrAry = @[@"非常不满",@"不满意",@"一般",@"满意",@"非常满意"];
    if (starStrAry.count > tag) {
        self.starLabel.text = starStrAry[tag];
    }
  
   // 获取当前评星级数
    if (self.delegate && [self.delegate respondsToSelector:@selector(getStar:)]) {
        [self.delegate getStar:tag + 1];
    }

}



上一篇 下一篇

猜你喜欢

热点阅读