提示表视图的最后一个单元格

时间:2015-06-11 06:21:39

标签: ios objective-c

我希望UITableView在最后一个单元格中始终显示“No more items”文本,我希望无论项目数是多少,都会出现此行,包括0项。我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以使用numberOfRowsInSection:方法获取部分的总行数。

NSInteger total = [self.tableView numberOfRowsInSection:indexPath.section];
// Check if last cell or no cell.
if(indexPath.row == totalRow -1 || indexPath.row == 0) 
{
    // Do your operation here
}

您可以使用cellForRowAtIndexPathwillDisplayCell方法执行此操作。希望它有所帮助。

答案 1 :(得分:0)

无论您的其他项目如何,只需添加该行:

- (void)buildMenu {
    [_menuItems removeAllObjects];
    // ... add your items or not if you have 0
    YourCellItem *lastItem = [[YourCellItem alloc] initWithTitle:@"No more items"];
    [_menuItems addObject:lastItem];
    [self.tableView reloadData];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return _menuItems.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"yourCellIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    YourTableViewCell *basicCell = (YourTableViewCell *)cell;
    YourCellItem *item = [_menuItems objectAtIndex:indexPath.row];
    basicCell.itemTitle.text = item.title;

    return cell;
}