2015-06-11 129 views
0

我希望UITableView始終在最後一個單元格中顯示文本「沒有更多項目」,我希望無論項目數是多少,都會顯示此行。我怎麼辦?在表格視圖的最後一個單元格上提示

+0

你不想用' - (UIView的*)的tableView:的tableView viewForFooterInSection:section'? – 0yeoj

回答

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方法執行此。希望能幫助到你。

+0

謝謝,即使你的代碼不完全正確。但你提供線索。 –

+0

@JasonMa是的,代碼是不完全正確的。只是想給你一個關於如何獲得最後一個細胞的想法。希望能幫助到你 :) –

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; 
} 
相關問題