如何在UITableViewCell上为图像执行显示和隐藏效果?

时间:2013-03-07 07:36:57

标签: ios uitableview ios6 uiimage checkmark

在我的iPhone应用程序中,我必须在单元格的左侧显示复选标记图像,第一次单元格上没有图像,当用户选择单元格时,它将在单元格的右侧显示复选标记图像,如果用户再次选择相同的单元格图像应该隐藏。

3 个答案:

答案 0 :(得分:1)

首先在你的UITableView方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

}

cell.accessoryType = UITableViewCellAccessoryCheckmark;
// Your code...
return cell;

}

以及show和hidden

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*) indexPath{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryNone) {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
}else{
    cell.accessoryType = UITableViewCellAccessoryNone;
}

}

希望这会对你有所帮助。

一切顺利!!!

答案 1 :(得分:1)

 if (cell.checkMarkImage.image == [UIImage imageNamed:@"checkMarkiPad.png"])
{
    cell.checkMarkImage.image=[UIImage imageNamed:@""];
}
else{
    cell.checkMarkImage.image = [UIImage imageNamed:@"checkMarkiPad.png"];
}

答案 2 :(得分:0)

您可以使用UITableViewcell的accessorytype方法,它可以让您在单元格的右侧标记“复选标记”。并且您必须使用tableview左侧的“自定义”按钮,当用户单击时,应更改chek和取消选中图像。

cellForRowAtIndex方法 - >

{
// make a custom UIButton and set image on it.

UIButton *chk = [[UIButton alloc]initwithframe(0,0,30,30)];
[chk setBackgroundImage:[UIImage imagenamed:@"uncheck.png"]];
[chk addTarget:self action:@selector(YourbuttonAction:) forControlEvents:UIControlEventTouchUpInside]];
[cell addSubview:chk];
}

-(void)YourbuttonAction
{
// in this part ,you can change the buttons image on every click.
}

如果您仍有问题,请查看以下链接 - >

http://danielsaidi.wordpress.com/2012/08/14/checkable-uitableviewcell-with-custom-image/

http://pastebin.com/L99v2jBQ