0

我需要给我的 UITableView 添加一个内阴影效果。我发现了这篇关于向 UIView 层添加内阴影的有用帖子:UIView 层的内阴影效果?

当我尝试在 UITableView 上使用此技术时会出现问题,因为 UITableView 的单元格显示在顶部,覆盖了阴影。

我已经尝试将 UITableView 作为子视图添加到 UIView (带有内部阴影),但没有效果。

我的 UITableView 以 UIViewController 的视图为中心,背景为深灰色。给 UITableView 一个内部阴影将使背景成为表格视图的边框。我目前拥有的没有内部阴影

我如何才能最好地实现我在 UITableView 上寻找的效果?

4

2 回答 2

2

回答我自己的问题:

我最终继承了 UIView 并使用这篇文章实现了 drawRect 函数:UIView 层的内阴影效果?

然后通过实现以下方法指示新的 UIView 子类将所有触摸事件转发到底层视图控制器:

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    return NO;
}

最后,我将新视图作为子视图添加到我的主视图中,将其背景设置为透明,将其放置在 tableView 的顶部并将其置于最前面。

- (void)viewDidLoad {
    InnerShadowView *shadowView = [[InnerShadowView alloc] init];
    [self.view addSubview:shadowView];
    shadowView.frame = _tableView.frame;
    shadowView.backgroundColor = [UIColor clearColor];
    [self.view bringSubviewToFront:shadowView];
}
于 2012-09-28T14:43:13.757 回答
0

我相信这篇文章完全涵盖了您正在寻找的内容:

http://cocoawithlove.com/2009/08/adding-shadow-effects-to-uitableview.html

于 2012-09-26T13:13:52.367 回答