在IOS目标C中创建评级视图

尼沙尔·哈达(Nischal Hada)

我想创建以下所示的评分视图。如何做到这一点在此处输入图片说明

我有3个条件。我在顶部和下方有星星的标签,最后是TextField。好,太棒了,太棒了,是根据星星数设置的。当有1星(即可怕的情况)时,我们必须提出四个按钮订单问题,时间安排,友善,整洁。UITextField并在其下移动

我已经实现了以下代码

#pragma mark -  Btn Action on start click

  - (IBAction)Btn_FirstHorrific:(id)sender {
       [self ReviewHorrific];
       [self NumOfStarWorstCase];

      str_deliveryBoyRating=@"1";
      str_customerComment=@"Horrific";
     }

- (IBAction)Btn_SecondNah:(id)sender {
       [self ReviewSecondNah];
       [self NumOfStarOthercase];

    str_deliveryBoyRating=@"2";
    str_customerComment=@"nah!";
     }

- (IBAction)Btn_ThirdItsOk:(id)sender {
    [self ReviewItsOk];
    [self NumOfStarOthercase];

    str_deliveryBoyRating=@"3";
    str_customerComment=@"Its ok";
    }

- (IBAction)Btn_FourthGood:(id)sender {
    [self ReviewGood];
    [self NumOfStarOthercase];

    str_deliveryBoyRating=@"4";
    str_customerComment=@"good";

    }

- (IBAction)Btn_FifthAmazing:(id)sender {
    [self ReviewAmazing];
    [self NumOfStarOthercase];

    str_deliveryBoyRating=@"5";
    str_customerComment=@"Amazing";


     }



#pragma mark - Change star colour in Number of star changes

- (void)ReviewHorrific{
    Btn_FirstHorrific.tintColor = UIColorFromRGB(0xff8133);


    Btn_SecondNah.tintColor = [UIColor whiteColor];
    Btn_ThirdItsOk.tintColor = [UIColor whiteColor];
    Btn_FourthGood.tintColor = [UIColor whiteColor];
    Btn_FifthAmazing.tintColor = [UIColor whiteColor];


    lbl_report.text=@"Please report your issue";
    lbl_RateType.text=@"Horrific";

    self.View_WorstCase.hidden = FALSE;


    }


- (void)ReviewSecondNah{

    Btn_FirstHorrific.tintColor = UIColorFromRGB(0xff8133);
    Btn_SecondNah.tintColor = UIColorFromRGB(0xff8133);

    Btn_ThirdItsOk.tintColor = [UIColor whiteColor];
    Btn_FourthGood.tintColor = [UIColor whiteColor];
    Btn_FifthAmazing.tintColor = [UIColor whiteColor];

    lbl_report.text=@"Please report your issue";
    lbl_RateType.text=@"Nah!!";

  }

- (void)ReviewItsOk{

    Btn_FirstHorrific.tintColor = UIColorFromRGB(0xff8133);
    Btn_SecondNah.tintColor = UIColorFromRGB(0xff8133);
    Btn_ThirdItsOk.tintColor = UIColorFromRGB(0xff8133);

    Btn_FourthGood.tintColor = [UIColor whiteColor];
    Btn_FifthAmazing.tintColor = [UIColor whiteColor];

    lbl_report.text=@"Please report your issue";
    lbl_RateType.text=@"It's OK";

}

- (void)ReviewGood{

    Btn_FirstHorrific.tintColor = UIColorFromRGB(0xff8133);
    Btn_SecondNah.tintColor = UIColorFromRGB(0xff8133);
    Btn_ThirdItsOk.tintColor = UIColorFromRGB(0xff8133);
    Btn_FourthGood.tintColor = UIColorFromRGB(0xff8133);

    Btn_FifthAmazing.tintColor = [UIColor whiteColor];

    lbl_report.text=@"Heap praise if you would like";
    lbl_RateType.text=@"Good";

}

- (void)ReviewAmazing{

    Btn_FirstHorrific.tintColor = UIColorFromRGB(0xff8133);
    Btn_SecondNah.tintColor = UIColorFromRGB(0xff8133);
    Btn_ThirdItsOk.tintColor = UIColorFromRGB(0xff8133);
    Btn_FourthGood.tintColor = UIColorFromRGB(0xff8133);
    Btn_FifthAmazing.tintColor = UIColorFromRGB(0xff8133);

    lbl_report.text=@"Glad to hear it. Any comments or feedback?";
    lbl_RateType.text=@"Amazing";

}
用户名

步骤1)

将5添加UIButton到您的UI文件。然后在您的标头(.h)代码中,这样声明UIButton

IBOutlet UIButton *starOne;
IBOutlet UIButton *starTwo;
IBOutlet UIButton *starThree;
IBOutlet UIButton *starFour;
IBOutlet UIButton *starFive;

然后回到您的UI文件,将星形按钮视图链接到您的代码。然后将默认(未选中)的星形图像添加到您的按钮中(只需拖放即可)。

第2步)

返回您的标头代码,添加5个IBAction方法。这些将检测何时按下星号按钮:

-(IBAction)press_1;
-(IBAction)press_2;
-(IBAction)press_3;
-(IBAction)press_4;
-(IBAction)press_5;

然后也添加一个方法。此方法将处理星形图像。

-(void)set_stars:(int)num :(NSString *)desc

然后在头文件中以整数声明。这将告诉您评级是多少,就像这样:

int rating;

还声明一个数组(它将包含指向您的星形按钮的指针):

NSArray *_starButtons;

最后,声明一个UILabel以显示每个评分的名称(并在用户界面中显示该名称),如下所示:

IBOutlet UILabel *rating_name;

步骤3)

在您的实现(.m)代码中,添加以下内容:

-(IBAction)press_1 {
    [self set_stars:1 :@"Horrific"];
}

-(IBAction)press_2 {
    [self set_stars:2 :@"nah!"];
}

-(IBAction)press_3 {
    [self set_stars:3 :@"Its ok"];
}

-(IBAction)press_4 {
    [self set_stars:4 :@"good"];
}

-(IBAction)press_5 {
    [self set_stars:5 :@"Amazing"];
}

 -(void)set_stars:(int)num :(NSString *)desc {

    rating_name.text = [NSString stringWithFormat:@"%@", desc];

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

        if ((loop + 1) <= num) {
            [((UIButton*)_starButtons[loop]) setBackgroundImage:[UIImage imageNamed:@"star_ON.png"] forState:UIControlStateNormal];
        }

        else {
            [((UIButton*)_starButtons[loop]) setBackgroundImage:[UIImage imageNamed:@"star_OFF.png"] forState:UIControlStateNormal];
        }
    }

    rating = num;
 }

最后,不要忘记viewDidLoad像这样方法中用按钮填充数组

_starButtons = @[starOne, starTwo, starThree, starFour, starFive];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从ReplayKit中提取视图,而无需在iOS目标c中显示视图控制器

为什么在iOS中将tableview样式分组后,目标c中的标题部分的视图无法正确显示,目标c

从目标C / iOS中的另一个视图控制器访问C数组

目标C中的自动刷新视图

在IOS中从一个视图导航到另一个视图(目标c)

如何禁用在iOS目标C中以编程方式创建的UIButton

目标 C 中 IOS 中的对话

当ios目标c中的文本字段中的字符范围增加时,如何阻止表视图多次重复数组?

目标C:在.h文件中创建对象

快速单元测试 | IOS故事板| 无法投射目标 c 中定义的视图控制器类

在目标C ++中尝试IOS Facebook SDK

xcode iOS目标C中的多点触摸

iOS 中的本地通知(目标 C)

如何在iOS中创建类似UIActionSheet的背景视图的视图?

创建用于在 asp.net 中显示评级星的评级系统

在目标C中的视图之间切换

在多视图应用中设置类实例(目标C)

如何创建评级点

Xcode,IOS,目标C

使用图像在目标c中创建PDF表单

如何在目标C中创建事件循环?

如何在目标c中动态创建类别?

如何在目标C中创建类似Android的Edittext(TextInputLayout)?

如何在目标c中创建调度队列?

如何将数据加载到ios中的自定义tableview单元内的选择器视图中,目标c

错误地创建应用程序而不是库后,在iOS中像在iOS中那样在Android Studio中创建目标

如何在Xamarin iOS中创建列表视图

在ios中创建一个简单的聊天视图

如何在Xamarin iOS中创建垂直滚动视图