zoukankan      html  css  js  c++  java
  • ios 类似淘宝评论星星功能

    创建星星视图:

    //星星

        _myview = [[UIView alloc]initWithFrame:CGRectMake(95, 5, 200, 50)];

        UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(huadong:)];

        [_myview addGestureRecognizer:pan];

        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(dianji:)];

        [_myview addGestureRecognizer:tap];

        [view1 addSubview:_myview];

        for (int i = 0; i < 5; i++) {

            imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"star01"]];

            imageView.frame = CGRectMake(_myview.bounds.origin.x+((i+1)*24), _myview.bounds.origin.y, 24, 24);

            

            [_myview addSubview:imageView];

            [_allStar addObject:imageView];

        }

     

    //分别在点击和滑动手势实现方法

     

    #pragma mark - 滑动的坐标

    -(void)huadong:(UIPanGestureRecognizer *)pan{

        CGPoint translation = [pan locationInView:_myview];

        

        for(int i = 0;i < 5 ; i++)

        {

            UIImageView *im ;

            im = _allStar[i];

            //NSLog(@"_all[%i] = (%f,%f)",i,im.frame.origin.x,im.frame.origin.y);

            

            if ((translation.x > 0)&&(translation.x < 144)&&(translation.y > 0)&&(translation.y < 24))

            {

                NSString *myscore = [NSString stringWithFormat:@"%i",((int)translation.x)/24];

                //UILabel *score = [[UILabel alloc]initWithFrame:CGRectMake(150, 180, 100, 100)];

                //[scrollView addSubview:score];

                //score.text = myscore;//_score是一个UILablemyscore为分数,显示在给用户看,关于这个不在赘述

                

                

                star = [myscore intValue];

                

                //星星

                if (im.frame.origin.x > translation.x)

                {

                    im.image =[UIImage imageNamed:@"star01"];

                }

                else

                {

                    im.image =[UIImage imageNamed:@"star02"];

                }

            }

        }

    }

    #pragma mark - 点击的坐标

    -(void)dianji:(UITapGestureRecognizer *)tap{

        CGPoint translation = [tap locationInView:_myview];

        

        for(int i = 0;i < 5 ; i++){

            

            UIImageView *im ;

            im = _allStar[i];

            

            if ((translation.x > 0)&&(translation.x < 144)&&(translation.y > 0)&&(translation.y < 24)) {

                NSString *myscore = [NSString stringWithFormat:@"%i",((int)translation.x)/24];

                

                //星星

                star = [myscore intValue];

     

                if (im.frame.origin.x > translation.x) {

                    im.image =[UIImage imageNamed:@"star01"];

                }else{

                    im.image =[UIImage imageNamed:@"star02"];

                }

            }

        }

    }

  • 相关阅读:
    31款简单实用的CSS+JS下拉菜单脚本
    POWERDESIGNER 15 反向生成PDM[转]
    WCF异常信息
    下载文件
    分区表的维护 ORA14402 更新分区关键字列
    [转]Winform框架之字典数据管理
    用例图(User Case)
    datetime的时值
    JS date对象的减法处理
    JS获取当前页面的高度
  • 原文地址:https://www.cnblogs.com/damnbird/p/4911061.html
Copyright © 2011-2022 走看看