上的tableView的細胞的細胞梯度,我試圖定義具有以下斯威夫特代碼梯度:斯威夫特:在實現代碼如下
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
var cell:UITableViewCell = self.tableView?.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
cell.backgroundColor=UIColor.clearColor()
let gradient : CAGradientLayer = CAGradientLayer()
var arrayColors:Array<AnyObject> = [UIColor.blackColor().CGColor, UIColor.whiteColor().CGColor]
gradient.colors=arrayColors
gradient.frame = cell.bounds
cell.layer.insertSublayer(gradient, atIndex: UInt32(indexPath.row))
return cell
}
的行爲是非常混亂:當第一次加載觀點,所有單元格都有白色背景。如果我上下滾動,某些內容的單元格會消失(標題和副標題),漸變最終會出現在這些單元格中(隨機地,其他單元格保留白色背景)。 它是否與此投射有關 - > UInt32(indexPath.row)?
嘗試用@IBOutlet無功表上添加您的實現代碼如下:UITableView的! 並在你的func tableView結束時添加table.reloadData() – 2014-08-28 20:48:47
檢查了這一點:https://github.com/rlease/GradientTableExample - 發現上次我正在尋找類似的東西。也許有幫助。 – derdida 2014-08-28 22:10:52
您可能已經忘記明確定義顏色的「位置」。我知道這只是可選的,但爲了安全起見,你知道;您不需要將新的漸變圖層添加到重複使用的單元格,其中_already_具有漸變圖層;並且圖層應該插入到第0個索引中,我沒有明白爲什麼要將它插入到第'row'索引處。那是什麼意思? – holex 2015-03-03 16:28:43