2011-07-30 50 views
0

我想弄清楚如何使我的UITableViewController類中的單元格具有像這個問題中的梯度(http://stackoverflow.com/questions/6880416/quick-question-with-uitableviewcell-shadow) 。我看過幾種說法使用圖像背景,但我寧願用代碼來做。我很難找到如何做到這一點,並感謝任何幫助。我如何使我的UITableViewController中的單元格具有漸變?

回答

1

Matt Gallagher做了一個很好的演練:Adding shadow effects to UITableView using CAGradientLayer

它使用繪製CAGradientLayer作爲單元格的背景視圖的自定義UIView子類。建立視圖的代碼trivial-

在GradientView UIView子類:

CAGradientLayer *gradientLayer = (CAGradientLayer *)self.layer; 
gradientLayer.colors = [NSArray arrayWithObjects: 
     (id)[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0].CGColor, 
     (id)[UIColor colorWithRed:0.85 green:0.85 blue:0.85 alpha:1.0].CGColor, nil]; 

self.backgroundColor = [UIColor clearColor]; 

在的UITableViewController的cellForRowAtIndexPath:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [{ Set up your cell}]; 
    cell.backgroundView = [[[GradientView alloc] init] autorelease]; 
} 

當然,也有一些併發症,但在Matt的網站上有一個很好的,簡單的示例應用程序。

只是一個nit:細胞在UITableView,而不是控制器。

相關問題