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;
}
问问题
468 次
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 回答