添加UIButton到UITableViewCell在搜索没有结果的情况下,空数组



我得到了以下代码,以显示button在第一个UITableViewCell上,以防NSArray的搜索结果为空。现在,我的numberOfRowsInSectionNSArray + 1,这样的话,我的表格将总是至少有一个单元格。

这是我的cellForRowAtIndexPath:

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;
    }

代码首先删除subview,以防它找到一个,然后创建并添加button作为subview,以防搜索array为空。

它工作得很完美,我对这段代码没有任何问题,但是因为我现在需要做类似的事情,我只是想知道这是否是最好的方法。我只是不太适应在每个单元格上运行这段代码我的tableview需要渲染。当数据库连接返回空时,我考虑将按钮添加到NSArray,但是,这仍然不是一个很好的代码。

对于一个更客观和干净的代码的任何建议将是伟大的。如果没有,就说一句"加油!"你做得很好",也会起作用。:)

你应该把按钮放在tableview的页眉或页脚。如果数组有结果,删除表视图的页脚或页眉。如果数组没有结果,则将视图添加到页脚或页眉。您应该将这段代码放在决定数组是否有数据的函数中。这样UIBUtton的位置就不依赖于单元格了,所以现在你不必为tableview中的每个单元格都运行它。

相关内容

最新更新