0
if ([stararray count] > 0) {
        for (int i = 0;i < [stararray count]; i++) {
            NSString *starstr =[stararray objectAtIndex:i];
            NSInteger starinteger = [starstr integerValue];
           btn = [[UIButton alloc] initWithFrame:kLabelRect2];
            btn.tag =starinteger - 1;
            NSLog(@"btnID1:%d",btn.tag);
            [btn setImage:[UIImage imageNamed:@"star.png"] forState:UIControlStateNormal];
            [btn addTarget:self action:@selector(starClicked:) 
          forControlEvents:UIControlEventTouchUpInside];

            [cell.contentView addSubview:btn];
            btn.hidden = inPseudoEditMode;
        }

        for (int i = 0;i < [nostararray count]; i++) {
        NSString *starstr =[nostararray objectAtIndex:i];
        NSInteger starinteger = [starstr integerValue];
        btn = [[UIButton alloc] initWithFrame:kLabelRect2];
            btn.tag =starinteger - 1;
            NSLog(@"btnID2:%d",btn.tag);
           [btn setImage:[UIImage imageNamed:@"dot.png"] forState:UIControlStateNormal];
           [btn addTarget:self action:@selector(starClicked:)    forControlEvents:UIControlEventTouchUpInside];
                                    [cell.contentView addSubview:btn];
btn.hidden = inPseudoEditMode;
        }

        //stararray = [[NSMutableArray alloc]init];
    }
    else {
        btn = [[UIButton alloc] initWithFrame:kLabelRect2];
        btn.tag =indexPath.row;
        NSLog(@"btnID2:%d",btn.tag);
        [btn setImage:[UIImage imageNamed:@"dot.png"] forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(starClicked:) 
      forControlEvents:UIControlEventTouchUpInside];

        [cell.contentView addSubview:btn];
        btn.hidden = inPseudoEditMode;
    }
4

2 回答 2

2

您可以自定义您UITableViewCell的按钮,单击该按钮会执行您的必要操作

更新

  -(void)starClicked:(id)sender 
    {

        UIButton *button = (UIButton *)sender;
        NSLog(@"btnID:%d",button.tag);
        if(button.tag == initialTag) {
            [button setImage:[UIImage imageNamed:@"star.png" forState:UIControlStateNormal]];
            button.tag = newTag;
        }
        else if(button.tag == newTag)
        {
           [button setImage:[UIImage imageNamed:@"dot.png" forState:UIControlStateNormal]];
           button.tag = initialTag;
        }

        NSLog(@"btnID:%d",btn.tag);

    }

另外的选择

-(void)starClicked:(id)sender 
{

UIButton *button = (UIButton *)sender;
button.selected = !button.selected; // toggle the selected property, 

    if (button.selected)
    {

// code to change image for selected state. 
    }
    else
    {
// code to change image for normal state. 
    }
}
于 2011-03-18T07:02:25.877 回答
0

您可以将 添加UIButton到表格单元格中,当用户按下它们时会切换。

-(void) toggleStarButton:(id)sender
{
    if([sender tag]== 0)
    {
        [sender setImage:[UIImage imageNamed:@"star.png"] forState:UIControlStateNormal];
        [sender setTag:1];


    else if([sender tag]==1)
    {
        [sender setImage:[UIImage imageNamed:@"unStar.png"] forState:UIControlStateNormal];
        [sender setTag:0];

    }
}
于 2011-03-18T06:57:19.057 回答