[英]Hiding button on tableview on a particular cell
我已经创建了表格。 在每个单元格上,我要根据标志数组中的值添加按钮。 这是我在单元格上添加按钮的代码
if ([[self.flags objectAtIndex:indexPath.row]
isEqualToString:@"false"])
{
UIButton *btnFlag = [UIButton buttonWithType:UIButtonTypeCustom];
[btnFlag addTarget:self
action:@selector(flagButtonPressed:)
forControlEvents:UIControlEventTouchDown];
btnFlag.backgroundColor = [UIColor redColor];
[btnFlag setTitle:@"flag" forState:UIControlStateNormal];
btnFlag.frame = CGRectMake(230, 40, 50, 20);
[cell addSubview:btnFlag];
}else if ([[self.flags objectAtIndex:indexPath.row] isEqualToString:@"true"])
{
UIButton *btnFlag = [UIButton buttonWithType:UIButtonTypeCustom];
[btnFlag setHidden:YES];
[cell addSubview:btnFlag];
}
-(void)flagButtonPressed:(id)sender {
UITableViewCell *owningCell = (UITableViewCell*)[sender superview];
indexPathToCell = [self.cotDetailsTbl indexPathForCell:owningCell];
// some stuff }
在上述方法中,Im调用api,并根据获得的响应将Im数组中的值从false替换为true。 一旦标志数组中的值变为true,就会重新加载表。
但是问题是当我重新加载表格时按钮仍然显示其未隐藏
谢谢
在其他部分,您再次使用创建新的button实例
UIButton *btnFlag = [UIButton buttonWithType:UIButtonTypeCustom]
相反,您需要现有的UIbutton
实例并将其设置为hidden。
尝试使用以下内容:
在if语句中,为每个按钮分配一个标签
btnFlag.tag = indexPath.row
现在。 在其他情况下,请执行以下操作,通过其标签找到按钮并将其设置为hidden:
else if ([[self.flags objectAtIndex:indexPath.row] isEqualToString:@"true"])
{
UIButton *btnFlag = [cell.contentView viewWithTag:indexPath.row];
[btnFlag setHidden:YES];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.