繁体   English   中英

在特定单元格上的表格视图上隐藏按钮

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

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