很容易给星按照此代码复制并粘贴到您的项目中并简单地运行。
- (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;
}
}