0

我正在为我的表格视图使用自定义单元格。我使用带有圆形边框的渐变层作为单元格的背景,因为表格视图的背景图像在单元格的角落是可见的(如图所示)。

数字

我能做些什么来隐藏这些角落?我的代码如下:

在 viewDidLoad 中,表已设置为:

Table.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mac-gray.png"]];
    Table.separatorColor = [UIColor clearColor];
    Table.rowHeight = 83;
    Table.showsVerticalScrollIndicator = NO;
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
@try {
  static NSString *cellIdentifier;
//[self adjustHeightOfTableview:tableView];

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    cellIdentifier = @"Cell";

    MarketWatch_iPhoneCell *cell = (MarketWatch_iPhoneCell *)[tableView dequeueReusableCellWithIdentifier:nil];
        if (cell == nil)
        {                
            NSString *nibName = @"iPhoneCell";

            NSArray *nib = [[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil];
            cell = (MarketWatch_iPhoneCell *)[nib objectAtIndex:0];

        }
    cell.layer.cornerRadius = 15.0;
    cell.clipsToBounds = YES;
    [cell addGradient];

    cell.selectionStyle = UITableViewCellSelectionStyleNone;

.......
return cell;
}


-(void) addGradient
{
    //adding gradient to cell
    gradLayer = [CAGradientLayer layer];
    gradLayer.colors = [NSArray arrayWithObjects:
                        (id)[UIColor darkGrayColor].CGColor,
                        (id)[UIColor colorWithRed:45/255 green:45/255 blue:45/255 alpha:1.0].CGColor,
                        (id)[UIColor colorWithRed:22/255 green:22/255 blue:22/255 alpha:1.0].CGColor,
                        (id)[UIColor blackColor].CGColor,
                        nil];
    CGRect frame = self.frame;
    frame.size.height -= cellMargin;
    gradLayer.frame = frame;

    gradLayer.cornerRadius = self.layer.cornerRadius;
    gradLayer.borderWidth = 1.0;
    gradLayer.borderColor = defaultColor;

    [self.layer insertSublayer:gradLayer below:self.contentView.layer];

}

编辑

我为表格设置了背景图像,以便在用户尝试滚动最大内容偏移量时获得图像。

如果我尝试按照@Viral 的建议使用重复我的图像模式,则当我尝试滚动关闭最大内容偏移量colorwithpatternimage时,该模式将可见。

所以这是我的两个问题:

1) 如果我为表格设置了背景图像并且单元格带有圆角,我可以隐藏角落吗?

2)如果使用图像更简单,那么图像应该是什么大小,以及应该如何设计,以便如果用户滚动超出偏移量,则不会遵循该模式。

请有人指导我。谢谢...

4

3 回答 3

0

不要使用以下代码..

Table.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mac-gray.png"]];//Don't use this code..

您可以使用以下代码。如果您想要背景图像,则可以将其设置为self.view.

Table.backgroundView.backgroundColor = [UIColor clearColor];
Table.backgroundColor = [UIColor clearColor];

你可以试试。我想对你会有帮助。。

于 2013-04-03T12:02:10.597 回答
0

UITableView在您创建的位置添加两条线。

self.tableView.backgroundColor = [UIColor clearColor];
self.tableView.opaque = NO;

也放入cell.backgroundColor = [UIColor clearColor];方法cellForRowAtIndexPath

编辑:

cell.backgroundView.backgroundColor = [UIColor clearColor];
于 2013-04-03T11:00:20.020 回答
0

将 UITableView 的 backgroundView 设置为 nil。然后设置你想要的任何颜色。

_myTableView.backgroundView = nil;
_myTableView.backgroundColor = [UIColor clearColor];
于 2013-04-05T12:18:39.497 回答