仅在表的最后一行添加新的TableViewCell

时间:2010-08-25 06:47:40

标签: iphone xcode uitableview

我试过在这里查找...但是可以看到更多像这样的问题,但没有答案。

我正在尝试在表格底部添加一个新单元格(最后再添加一个单元格) 单元格应该与其他表格单元格不同,所以我用tableCell创建了一个新的NIB。

我用这种方式找到表格中的最后一个单元格:

NSInteger sectionsAmount = [tableView numberOfSections];
NSInteger rowsAmount = [tableView numberOfRowsInSection:[indexPath section]];
if ([indexPath section] == sectionsAmount - 1 && [indexPath row] == rowsAmount - 1)

并且在里面,我想使用我的新tableCell,所以我做如下:

    static NSString *CustomCellIdentifier = @"InboxLoadMoreCell ";
    InboxLoadMoreCell *cell = (InboxLoadMoreCell *)[tableView dequeueReusableCellWithIdentifier: CustomCellIdentifier];
    if (cell == nil) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"IphoneLoadMoreCell" owner:self options:nil];
        for (id oneObject in nib)
            if ([oneObject isKindOfClass:[InboxLoadMoreCell class]])
                cell = (InboxLoadMoreCell *)oneObject;
    }

我现在有两个问题, 1.新的自定义tableCell未加载。 2.正在更新的行是最后一行,但最后一行不是新行(因此,需要覆盖1行)

任何想法如何继续这个?

1 个答案:

答案 0 :(得分:0)

我这样做的方法是将接口构建器中的文件所有者设置为UIViewController。加载包,并将我的单元格设置为该视图控制器的视图。即,

UIViewController* c = [[UIViewController alloc] initWithNibNamed:@"IphoneLoadMoreCell" bundle:nil];
cell = (MyCustomCell*)c.view;
[c release];

只要确保你只在最后一项上做到这一点,你就应该没问题 - 假设你当然是按照我在你的笔尖中的方式设置自定义单元格。