Ios 将UIButton添加到UITableViewCell,以防搜索没有结果,空数组
我得到了以下代码,以便在第一个Ios 将UIButton添加到UITableViewCell,以防搜索没有结果,空数组,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我得到了以下代码,以便在第一个UITableViewCell上显示一个按钮,以防带有搜索结果的NSArray为空。现在,我的numberOfRowsInSection具有NSArray+1,这样,我的表将始终至少有一个单元格 这在mycellForRowAtIndexPath中: if ([cell.contentView viewWithTag:1]) { [[cell.contentView viewWithTag:1] removeFromSuperview]; }
UITableViewCell
上显示一个按钮,以防带有搜索结果的NSArray
为空。现在,我的numberOfRowsInSection
具有NSArray
+1,这样,我的表将始终至少有一个单元格
这在mycellForRowAtIndexPath
中:
if ([cell.contentView viewWithTag:1]) {
[[cell.contentView viewWithTag:1] removeFromSuperview];
}
if ((self.searchDisplayController.isActive && indexPath.row == [self.searchResults count]) || (!self.searchDisplayController.isActive && indexPath.row == [[self pegarObjetosUnicos] count])) {
// Create UIButton
UIButton *botaoProcurar = [UIButton buttonWithType:UIButtonTypeRoundedRect];
botaoProcurar.frame = CGRectMake(0, 0, 320, 50);
botaoProcurar.showsTouchWhenHighlighted = YES;
[botaoProcurar setTitle:@"Procurar no Banco de Dados" forState:UIControlStateNormal];
botaoProcurar.tag = 1;
[botaoProcurar addTarget:self action:@selector(botaoProcurar) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:botaoProcurar];
cell.textLabel.text = @"";
return cell;
}
代码首先删除一个子视图(如果找到),然后创建并添加按钮作为子视图(如果搜索数组
为空)
它工作得很好,我对这段代码没有任何问题,但是因为我现在需要做类似的事情,我只是想知道这是否是最好的方法。我只是不习惯为tableview必须渲染的每个单元格运行此代码。当数据库连接返回空时,我考虑将按钮添加到NSArray
,但这仍然不是一个好代码
任何关于更客观、更干净的代码的建议都会很好。如果没有,那么“加油!你做得很好”也会起作用 应该将按钮放在tableview的页眉或页脚中。如果数组有结果,请删除tableview的页脚或页眉。如果数组没有结果,请将视图添加到页脚或页眉。您应该将此代码放在决定数组是否有数据的函数中。通过这种方式,UIBUtton的位置不依赖于单元格,因此现在不必为tableview中的每个单元格运行它