[英]how to create custom button on table view cell
我想在表格view.in中创建自定义按钮,通过单击该按钮,标签将以当前日期创建。在该按钮中,我还必须实现复选框功能。 我已经为复选框功能实现了以下代码:它可以正常工作,但是我可以通过选中YES来创建标签。
UIButton *btnUncheck=[[UIButton alloc] initWithFrame:CGRectMake(260, 35, 20, 20)];
//btnUncheck=[UIButton buttonWithType:UIButtonTypeCustom];
btnUncheck.tag=indexPath.row;
[btnUncheck setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal];
[btnUncheck addTarget:self action:@selector(checkBoxClicked:) forControlEvents:UIControlEventTouchUpInside];
[btnUncheck release];
[cell.contentView addSubview:view];
return cell;
}
-(IBAction)checkBoxClicked:(id)sender
{
if(favoriteChecked==NO)
{
[sender setImage:[UIImage imageNamed:@"YES.png"] forState:UIControlStateNormal];
favoriteChecked=YES;
[lblAchievementreward setHidden:NO];
}
else
{
[sender setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal];
favoriteChecked=NO;
}
是的你可以。 在checkBoxClicked:
,将选中项目的行保存在实例变量中。 然后,重新加载该行,以便再次调用cellForRowAtIndexPath。 就像是-
self.checkedRow = sender.tag;
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathWithIndex:sender.tag]] withRowAnimation:UITableViewRowAnimationNone];
然后,在cellForRowAtIndexPath:
,检查self.checkedRow
并添加标签。 就像是-
if(indexPath.row == self.checkedRow)
{
UILabel* label = [[UILabel alloc] init];
//label.text = [NSDate date]; //use date formatters here
[cell.contentView addSubview:label];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.