Objective C 如何隐藏 Dynamic UITableViewCell 中的特定行按钮?

How to hide a particular row button in Dynamic UITableViewCell in Objective C?

我已经实现了动态 TableView、Textfield 和 Buttons。我的问题是,当我隐藏 UITableViewCell 第一行的按钮时,其他五行单元格按钮也被隐藏了。

有人可以针对这个问题提出解决方案吗?

我试过下面的代码..

ladiesdetails=[[NSMutableArray alloc]initWithObjects:@"2",@"0",@"0",@"0",@"0",@"0", nil];



- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return 6;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{


    static NSString *CellIdentifier = @"cell1";

    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[passengerdetailcell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
if([[ladiesdetails objectAtIndex:indexPath.row] intValue]==2)
{
cell.malebutton.hidden=yes;
}
return cell;
}

只需放置 else 条件并使按钮在 cellForRowAtIndexPath 方法中可见。如果您还有其他要显示的条件,请添加。

if([[ladiesdetails objectAtIndex:indexPath.row] intValue] == 2) {
   cell.malebutton.hidden = YES;
} else {
   cell.malebutton.hidden = NO;
}

像这样

bool flag = ([[ladiesdetails objectAtIndex:indexPath.row] intValue] == 2)
cell.malebutton.hidden = flag

这是因为单元格重用,您使用如下分配单元格。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        // Return the number of rows in the section.
        return 6;
    }
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        PassengerDetailTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"PassengerDetailCell" forIndexPath:indexPath];
        if([[self.ladiesdetails objectAtIndex:indexPath.row] intValue]==2)
        {
            cell.maleButton.hidden = TRUE;
        }
        return cell;
    }