这应该很容易,但是我遇到了麻烦。
我有一个静态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];
}
更新
看来,在自动布局下,这可能不是最佳解决方案。还有一个替代答案here可能会有所帮助。