繁体   English   中英

如何在表格视图单元格上创建自定义按钮

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM