在我的应用程序中,我必须在tableview单元格中实现复选框功能。通过单击该复选框,将在同一单元格中创建另一个标签.1如何实现复选框功能?我创建了自定义单元格。这是我尝试的代码,但它不起作用。
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
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];
[view addSubview:btnUncheck]
-(void)checkBoxClicked:(id)sender{
if(favoriteChecked==NO)
{
[sender setImage:[UIImage imageNamed:@"YES.png"] forState:UIControlStateNormal];
favoriteChecked=YES;
}
else
{
[sender setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal];
favoriteChecked=NO;
}
}
答案 0 :(得分:1)
if(cell==nil)
{
//add the code here
}
希望这有帮助
答案 1 :(得分:1)
try this
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
UIButton *button = [UIButton buttonWithType:UIButtonTypeInfoLight];
button.frame = CGRectMake(3,8,30, 30);
[button setImage:[UIImage imageNamed:@"chack box1_selected_callback.png"] forState:0]
[button addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:button];
}
答案 2 :(得分:1)
使用UIButton *btn = (UIButton *)sender;
将您的发件人从ID类型转换为按钮类型,然后更改btn
的图片。
同时将[view addSubview:btnUncheck]
更改为[cell.contentView addSubview:btnUncheck];
为此,您需要创建一个TableViewcell
希望这有帮助。