在运行时从静态 UITableView 中删除行

Posted

技术标签:

【中文标题】在运行时从静态 UITableView 中删除行【英文标题】:Deleting rows from a static UITableView at runtime 【发布时间】:2013-11-12 23:05:54 【问题描述】:

当所有部分和行都在 nib 中静态定义时,是否可以在运行时从 UITableView 中删除行?

在下面的故事板场景中,我可以在运行时删除“Addr 2”字段吗?在这种情况下,我没有向UITableView 提供数据源。

【问题讨论】:

那么,您希望您的静态表格视图是非静态的吗? 如果可能的话,我会是 ec_static_,@SimonGoldeen。 【参考方案1】:

我不知道“删除”,但您可以使用 tableView:heightForRowAtIndexPath: 隐藏该行。

- (void)methodToToggleAddr2CellVisibility

    self.addr2CellIsHidden = !self.addr2CellIsHidden;
    [self.tableView beginUpdates];
    [self.tableView endUpdates];


- (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

    if (indexPath.section == 1 && indexPath.row == 1)  // the cell you want to hide
        if (self.addr2CellIsHidden == YES) 
            return 0;
         else 
            return 44;
        
    
    return 44;

【讨论】:

以上是关于在运行时从静态 UITableView 中删除行的主要内容,如果未能解决你的问题,请参考以下文章