2015-08-28 66 views
0

我有以下代碼在UITableView中創建我的單元格。UITableView的第一個單元格爲空(UIView中的TableView)

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 5; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    NSString *CellIdentifier = @"futureAppointments"; 
    FutureAppointmentsViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (nil == cell) { 
     [tableView registerNib:[UINib nibWithNibName:@"FutureAppointmentsViewCell" bundle:nil] forCellReuseIdentifier:CellIdentifier]; 
     cell = [[FutureAppointmentsViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
            reuseIdentifier:CellIdentifier]; 
    } 

    NSUInteger position = indexPath.row; 
    cell.appointmentDescription.text = [NSString stringWithFormat:@"%lu. %@. %@", (unsigned long)position, @"Steve", @"10/03/"]; 

    return cell; 
} 

問題是,tableView的第一個單元格丟失。它應該從0.史蒂夫開始,而是開始1.史蒂夫。也只有4個列表中的元素,而不是5.

enter image description here

當我放置一個斷點中的代碼,所述第一小區是零。

有誰知道可能發生了什麼?

+0

也許你的_header_視圖涵蓋了它?你有沒有試圖拉下tableview來查看單元格是否在_something_下,也許呢? – holex

回答

3

,就把這行代碼:

[tableView registerNib:[UINib nibWithNibName:@"FutureAppointmentsViewCell" 
             bundle:nil] 
forCellReuseIdentifier:CellIdentifier]; 

viewDidLoad。它不屬於cellForRowAtIndexPath。一旦你這樣做,那麼你不再需要檢查單元格是否爲零。

變化的cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    NSString *CellIdentifier = @"futureAppointments"; 
    FutureAppointmentsViewCell *cell = 
     [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 


    NSUInteger position = indexPath.row; 
    cell.appointmentDescription.text = 
    [NSString stringWithFormat:@"%lu. %@. %@", 
    (unsigned long)position, @"Steve", @"10/03/"]; 

    return cell; 
} 
+0

對不起,我忘了在我的問題中提到我正在處理的代碼已經完成了視圖,所以我沒有viewDidLoadMethod來處理。 – pls

+0

然後把它放在視圖的init方法中。將其移出cellForRowAtIndexPath。順便說一句,你真的應該使用ViewControllers。 –

+0

我會試試看。我繼承了這個代碼庫,所以沒有選擇。你不需要說服我使用視圖控制器:-)。 – pls

1

我覺得我有類似的問題,我是用UITableViewUIView當在init方法初始化它。

我無法找到該行爲的很好解釋,但我發現了一個棘手的解決方案 - 我正在從UIViewControllerviewDidAppear方法中重新加載UITableView實例。

我也想知道,爲什麼UITableView沒有畫全部UITableViewCell

相關問題