2015-05-28 63 views
0

UITableView顯示單元格,並且它們正在加載它們應該的樣子。然而,在方面適合的情況下,在單元格內部存在圖像視圖。直到您滾動,它們纔會顯示完整大小,然後向上滾動,然後顯示正確。UITableView不顯示單元格,除非滾動

下面是我正在談論的兩個圖像。我也嘗試重新加載ViewDidLoad上的數據。

當加載: http://www.screencast.com/t/oj4xdQtyv

當滾動,滾動和備份: http://www.screencast.com/t/0uHn5Wms53

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    imageIndex = indexPath.row 

    var cell : CustomCell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as! CustomCell 

    cell.imgview.backgroundColor = UIColor(red: 27, green: 27, blue: 27, alpha: 1.0) 

    cell.imgview.layer.borderColor = UIColor.redColor().CGColor 
    cell.imgview.layer.borderWidth = 2 
    cell.imgview.image = UIImage(named: images[imageIndex]) /*Image provided*/ 
    cell.imgview.contentMode = UIViewContentMode.ScaleAspectFit 
    cell.imgview.userInteractionEnabled = true 
    cell.imgview.tag = imageIndex 

    return cell 
} 
+0

確保您在'cellForRowAtIndexPath'委託中使用'dequeReusableCellWithIdentifier:forIndexPath'而不是'dequeueReusableCellWithIdentifier'。非索引路徑版本有大小類的問題,它看起來像你最初的單元格認爲屏幕比它更廣泛。要做更多事情,需要查看單元格的行代碼以及如何定義單元格高度。 –

+0

我現在將添加上面的代碼。 –

+0

你的圖片看起來很窄?你是否讓桌面視圖比屏幕更窄? –

回答

0

我不能告訴你確切的問題,除非您發佈一些代碼。但我可以建議一個解決你的問題的黑客。

在viewWillAppear方法結束時,嘗試調用表視圖上的函數reloadData()。該功能只是重新加載數據視圖的所有單元格。這將解決您的問題。

爲什麼表格單元格在滾動後顯示正確的一個可能的解釋是,一旦將單元格從視圖中滾出,單元格基本上就會被回收,因此會重新載入新數據。所以它重置單元格並且它看起來是正確的。這就是爲什麼調用reloadData方法將解決您的問題。

發表一些代碼片段,我會試着解決這個問題,而不是破解。另外,請檢查故事板中表格視圖單元格的設置,可能是因爲這些設置正在發生。

+0

我加了我的cellForRow方法。 :)我現在要試試這個黑客! –

+0

這種黑客行不通。 –

+0

@AustinSweat您是否在控制器中創建了表格視圖的出口? –

相關問題