ios – 如何从故事板中创建的静态UITableView中删除单元格

这应该很简单,但我有麻烦.

我有一个静态UITableView与一个单元格,我想以编程方式删除,如果不需要.

我有一个IBOutlet

IBOutlet UITableViewCell * cell15;

我可以通过调用删除

cell15.hidden = true;

这隐藏了它,但留下了一个空白的空间,细胞过去是我不能摆脱的.

也许一个黑客会把它的高度改为0?

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:indexPath
{
//what would I put here?
}

非常感谢!

解决方法

你不能真正处理这个数据源,因为使用静态表,你甚至没有实现数据源方法.高度是走的路.

尝试这个:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    if (cell == cell15 && cell15ShouldBeHidden) //BOOL saying cell should be hidden
        return 0.0;
    else
        return [super tableView:tableView heightForRowAtIndexPath:indexPath]; 
}

更新

看来,在autolayout下,这可能不是最好的解决方案.有一个替代答案here可能有帮助.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...