セルの背景グラデーションを設定できます。この場合、cell.layer を使用しているため、角が丸くなることを気にする必要はありません。(プロジェクトのこのインポート Quartz フレームワークの場合)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
if (indexPath.row == 0) // first cell
{
// set background gradient
CAGradientLayer *gradient = [[CAGradientLayer alloc] init];
gradient.position = CGPointMake(0, 0);
gradient.frame = cell.frame;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:0.207 green:0.207 blue:0.207 alpha:1.0] CGColor], (id)[[UIColor colorWithRed:0.125 green:0.125 blue:0.125 alpha:1.0] CGColor], nil];
[[cell.layer.sublayers objectAtIndex:0] removeFromSuperlayer];
[cell.layer insertSublayer:gradient atIndex:0];
[gradient release];
}
else if (indexPath.row == 1) // second cell
{
//
// Another gradient
//
}
}
return cell;
}