2010-08-25 77 views
1

我試過在這裏查找它......但可以看到更多像這樣的問題,但沒有答案。僅在表格的最後一行添加新的TableViewCell

我想添加一個新的單元格在我的表底部(添加1個單元格到最後) 單元格應該不同於其他表格單元格,所以我創建了一個新的NIB與tableCell。

我用這種方式來找到我的表中的最後一個單元格:

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.正在更新的行是最後一行,但不是最後一行的新行(因此,需要的一行被覆蓋)

任何想法如何繼續?

回答

0

我這樣做的方法是將接口構建器中的文件所有者設置爲UIViewController。加載包,並將我的單元格設置爲該視圖控制器的視圖。即,

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

只要確保你只能做你的最後一個項目,你應該罰款 - 假設你當然,建立自定義單元格,因爲我在你的筆尖指向。

+0

嘿,感謝您的重播。 請嘗試更具體,(也許一步一步的說明) 我是金達恩這個,並嘗試上述,但它崩潰時,我滾動到最後一個單元格。 我已將我的customTableViewCell更改爲Interface Builder中的UIViewController。 你寫了cell =(MyCustomCell *)c.view; 什麼應該是MyCustomCell? 謝謝,Dror。 – 2010-08-25 07:10:59

+0

您必須確保您的界面構建器中的文件所有者被設置爲UIViewController類型才能工作。如果是這樣,請告訴我崩潰的原因(請參閱崩潰報告或崩潰時控制檯的輸出)。我已經無法再把它打破了,這是一步一步的。 – jer 2010-08-25 07:25:05

相關問題