gpt4 book ai didi

objective-c - 如何更改分组表格单元格的背景?

转载 作者:行者123 更新时间:2023-11-28 22:51:18 25 4
gpt4 key购买 nike

我想更改分组表格 View 单元格的背景。假设您有 5 个分组单元格。顶部单元格的左上角和右上角是圆角的,底部单元格的左下角和右下角是圆角的,中间单元格没有圆角。这就是问题所在。如果我为每个单元格设置背景,顶部和底部的单元格看起来就像中间的单元格一样,没有顶角和底角。我怎样才能设置背景,使顶部和底部的单元格变圆,而不会使每个单元格看起来都一样。提前致谢。

编辑:还有另一个旁注。有些情况下 tableview 单元格只显示一个单元格,这意味着每个角都是圆角的。那么如何设置可以处理所有这些情况的背景。

最佳答案

你可以为单元格设置背景渐变,在这种情况下你可能不用担心圆角,因为你使用了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;
}

关于objective-c - 如何更改分组表格单元格的背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com