It's easy to give a star. Follow this code and copy and paste into your project and just run.
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. startview = [[UIView alloc] initWithFrame:CGRectMake(45, 70, 230, 50)]; startview.backgroundColor = [UIColor redColor]; NSInteger getrating = 0; int x = 5; for (int k = 1; k <= 5; k++) { UIImageView * mystarimage = [[UIImageView alloc] initWithFrame:CGRectMake(x, 5, 40, 40)]; if (getrating >= k) { mystarimage.image = [UIImage imageNamed:@"star.png"]; } else { mystarimage.image = [UIImage imageNamed:@"gray-star.png"]; } mystarimage.tag = k; mystarimage.userInteractionEnabled = YES; [startview addSubview:mystarimage]; UITapGestureRecognizer *letterTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(updateStar:)]; rateMember = mystarimage.tag; NSLog(@"rateing %ld",(long)rateMember); letterTapRecognizer.numberOfTapsRequired = 1; [mystarimage addGestureRecognizer:letterTapRecognizer]; x = x + 45; } [self.view addSubview:startview]; } -(void)updateStar :(UITapGestureRecognizer*)sender { UIView *view = sender.view; NSLog(@"hello ji %ld", (long)view.tag); NSInteger getrating; switch (view.tag) { case 1: NSLog(@"press 1"); rateMember = 1; break; case 2: NSLog(@"press 2"); rateMember = 2; break; case 3: NSLog(@"press 3"); rateMember = 3; break; case 4: NSLog(@"press 4"); rateMember = 4; break; case 5: NSLog(@"press 4"); rateMember = 5; break; default: NSLog(@"press 5"); rateMember = 5; break; } getrating = rateMember; NSLog(@"Get rating -------> %ld",(long)getrating); int x = 5; for (int k = 1; k <= 5 ; k++) { UIImageView * mystarimage = [[UIImageView alloc] initWithFrame:CGRectMake(x, 5, 40, 40)]; if (getrating >= k) { mystarimage.image = [UIImage imageNamed:@"star.png"]; } else { mystarimage.image = [UIImage imageNamed:@"gray-star.png"]; } mystarimage.tag = k; mystarimage.userInteractionEnabled = YES; [startview addSubview:mystarimage]; UITapGestureRecognizer *letterTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(updateStar:)]; letterTapRecognizer.numberOfTapsRequired = 1; [mystarimage addGestureRecognizer:letterTapRecognizer]; x = x + 45; } }
source share