我的桌面视图只有几行。因此,我没有显示一堆空白,而是向tableview.footer添加了一个空白的UIView。但是我希望最后一个单元格在UIView上投下阴影。我怎么做到这一点?这是我目前的代码。
- (void)viewDidLoad
{
[super viewDidLoad];
UIView *emptyView = [[UIView alloc] initWithFrame:CGRectZero];
CALayer *layer = [emptyView layer];
[layer setShadowOffset:CGSizeMake(0, 1)];
[layer setShadowColor:[[UIColor darkGrayColor] CGColor]];
[layer setShadowRadius:8.0];
[layer setShadowOpacity:0.8];
self.tableView.tableFooterView = emptyView;
}
编辑: 它将UIView添加到页脚但不创建drophadow。我不确定这个层是最好的方法,甚至不能纠正这类事情。
答案 0 :(得分:0)
可能是因为您将框架设置为CGRectZero。
零矩形相当于CGRectMake(0,0,0,0)。
零矩形(x = 0,y = 0,宽度= 0,高度= 0)的阴影根本不会显示。
尝试给它一个合适的框架尺寸,你会看到差异。
答案 1 :(得分:0)
我最终使用
shadowBackgroundView.layer.shadowOpacity = 0.3;
shadowBackgroundView.layer.shadowRadius = 2;
shadowBackgroundView.layer.shadowColor = [[UIColor blackColor] CGColor];
shadowBackgroundView.layer.shadowOffset = CGSizeMake(0.0, 1.0);
CGPathRef shadowPath = [UIBezierPath bezierPathWithRoundedRect: shadowBackgroundView.bounds
byRoundingCorners: UIRectCornerAllCorners
cornerRadii: CGSizeMake(PageCellBackgroundRadius, PageCellBackgroundRadius)].CGPath;
shadowBackgroundView.layer.shadowPath = shadowPath;
shadowBackgroundView.layer.shouldRasterize = YES;
[self addSubview: shadowBackgroundView];
答案 2 :(得分:0)
在cellForRowAtIndexPath:
函数中:
// drop shadow
cell.layer.shadowOpacity = 1.0;
cell.layer.shadowRadius = 1.7;
cell.layer.shadowColor = [UIColor blackColor].CGColor;
cell.layer.shadowOffset = CGSizeMake(0.0, 0.0);