在运行时从静态 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 中删除行的主要内容,如果未能解决你的问题,请参考以下文章

在 UITableView 重新加载时从 SDWebImage 设置图像

激活滑动删除时从一行中删除核心数据

如何从iOS中的静态库构建胖库时从libWebRTC.a静态库中删除x86_64 architechture?

如何在android中启动活动时从sqlite数据库中删除所有行(数据)

如何在静态 UITableView 中插入/隐藏/显示行?

如何在运行时从超级视图中删除视图?