2014-07-11 45 views
0

我正在嘗試將特定漸變的顏色添加到表視圖的每個單元格中。到目前爲止,我所做的一切都是爲每個單元設置漸變。我發現了另一篇貼近我的帖子,但是通過確定行數並根據行號是否匹配給出了某種顏色,僅交替設置了兩種顏色。這裏是link。 這是我用於每個單元格的梯度的代碼;我如何將漸變的每種顏色歸於單元格?如何將漸變的顏色添加到TableView的每個單元格(或行)?

CAGradientLayer *grad = [CAGradientLayer layer]; 
    grad.frame = cell.bounds; 

    grad.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:252/255.f green:135/255.f blue:208/255.f alpha:1] CGColor], (id)[[UIColor colorWithRed:253/255.f green:91/255.f blue:105/255.f alpha:1] CGColor], nil]; 

    [cell setBackgroundView:[[UIView alloc] init]]; 
    [cell.backgroundView.layer insertSublayer:grad atIndex:0]; 

謝謝!

+0

你有解決方案http://stackoverflow.com/questions/30478975/how-to-set-multiple-gradient-colour-in-uitableviewcell-using-cagradientlayer-in –

回答

0

在您的cellForRowAtIndexPath中,您可以添加一個switch語句,其中包含您需要的儘可能多的個案以適應您擁有的單元格數量。這裏是代碼:

switch (indexPath.row) { 
    case 0: 
     cell.backgroundColor = [[UIColor colorWithRed:252/255.f green:135/255.f blue:208/255.f alpha:1] CGColor] 
     break; 
    case 1: 
     cell.backgroundColor = [[UIColor colorWithRed:253/255.f green:91/255.f blue:105/255.f alpha:1] CGColor] 
     break; 
    default: 
     cell.backgroundColor = //aother GCColor of your choice 
     break; 
} 

等等。對於第一個單元格,您將使用第0個單元格作爲第二個單元格用例1,依此類推。您可以根據需要添加儘可能多的箱子來匹配您擁有的箱子數量。並確保您使用default:爲最後一個單元格。

+0

你好,感謝您花時間回答我的問題,但這並不是我正在尋找的;使用上面的方法,我必須通過顏色自己一直到最後一個單元格:(Idk如果我表達自己在我的問題,但我正在尋找一個漸變應用於單元格作爲一個身體'本身,每個單元格都有一個線性漸變的顏色 – user3817400

+0

所以,你不能嘗試添加一個漸變背景,並使tableView透明嗎? –

+0

我試過,但整個模擬器在滾動項目時滯後。這是因爲我使用的是Xcode 6,或者只是在一般情況下使用 – user3817400

相關問題