我正在为我的表格视图使用自定义单元格。我使用带有圆形边框的渐变层作为单元格的背景,因为表格视图的背景图像在单元格的角落是可见的(如图所示)。
我能做些什么来隐藏这些角落?我的代码如下:
在 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)如果使用图像更简单,那么图像应该是什么大小,以及应该如何设计,以便如果用户滚动超出偏移量,则不会遵循该模式。
请有人指导我。谢谢...