2013-09-27 59 views
1

我有一個應用程序,我正在遷移到iOS7。在我的應用程序中,我有一個UITableViewController的子類,它爲訂單填充提供了一個NSDictionaires數組。 此課程在iOS 7以前的版本中工作順利。UITableViewCell沒有出現在iOS 7中

但是由於我在XCode 5中開始編輯它,UITableViewCells沒有顯示。部分標題是,並且單元格的「放置」也似乎是正確的。

當我輸出的cellForRowAtIndex在返回的NSLog細胞獲得:

2013-09-27 14:53:00.008 MyApp[25278:a0b] Cell for: <UITableViewCell: 0xc5f7ca0; frame = (0 681; 703 40); text = 'Status'; autoresize = W; layer = <CALayer: 0xc5f7e30>> 

我已經切換到使用從故事板細胞,但沒有幫助。 即使當我改變cellForRowAtIndex到:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath]; 
cell.textLabel.text = @"Cell"; 
return cell; 

我什麼也沒得到。 我已經刪除了我的viewWillAppear & viewDidLoad方法中的所有內容。但那沒有影響。 我也創建了一個新的TableViewController子類。在使用上面的代碼時,它將顯示沒有問題的單元格。 有沒有人有任何想法可能會導致我的細胞消失?

+2

實際上你是標識符「Cell」嗎?你應該在Storyboard中給它一個獨特的名字,而不是在這裏設置它 – RyanG

+0

需要更多的代碼來告訴,你可能會以某種方式丟失你的數據。也許是一個流浪的重裝。 – EricLeaf

回答

0

我想通了,我的問題。當你尋求幫助時總會發生。 在我設定的目標爲實現代碼如下數據源,我有以下行的方法:

for(UIView *view in self.view.subviews){ 
     [view removeFromSuperview]; 
    } 

我什至不知道爲什麼我在那裏,可能是因爲我沒有出列,這我沒」起初做的事情是因爲細胞數量有限,每個細胞都是不同的風格。 我通過在故事板中使用多個設計並在出列時使用不同的標識符來覆蓋不同的樣式。

+0

你使用了什麼? – Esqarrouth

+0

你是什麼意思?如果你指的是我總是使用XCode的IDE。 – Deddiekoel

+0

http://stackoverflow.com/questions/27355545/swift-reuse-cells-in-ios7-1-simulator-cells-are-hidden我有一個類似的問題,但我的細胞沒有得到正確更新,如果我刪除此部分。 (除了我的是cell.view.subviews) – Esqarrouth

-2

使用此方法。在你的代碼中,如果tableView deque ..方法返回沒有單元格。

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 
+0

這是「舊」的方法。如果用桌子或故事板在筆尖上創建單元格,則不再需要手動「初始化」。另請參閱我的帖子,瞭解目前正確的做法(即註冊單元格)。 – EricLeaf

0

確保你要麼在你的筆尖或故事板製作,或使用你的表初始化代碼,這些方法之一註冊您的電池:

 
– registerNib:forCellReuseIdentifier: 
– registerClass:forCellReuseIdentifier: 
相關問題