我需要为我的 UITableView 添加一个内部阴影效果。我发现了这篇关于向 UIView 层添加内部阴影的有用帖子:Inner shadow effect on UIView layer?
当我尝试在 UITableView 上使用此技术时出现问题,因为 UITableView 的单元格显示在顶部,覆盖了阴影。
我试过将 UITableView 作为 subview 添加到 UIView(带有内部阴影)但没有效果。
我的 UITableView 以深灰色背景的 UIViewController View 为中心。给 UITableView 一个内部阴影会给背景带来表格 View 的边框效果。
如何最好地实现我在 UITableView 上寻找的效果?
最佳答案
回答我自己的问题:
我最终继承了 UIView 并使用这篇文章实现了 drawRect 函数:Inner shadow effect on UIView layer?
然后指示新的 UIView 子类通过实现以下方法将所有触摸事件转发到底层 View Controller :
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
return NO;
}
最后,我将新 View 作为 subview 添加到我的主视图中,将其背景设置为透明,将其放置在 tableView 的顶部并将其置于最前面。
- (void)viewDidLoad {
InnerShadowView *shadowView = [[InnerShadowView alloc] init];
[self.view addSubview:shadowView];
shadowView.frame = _tableView.frame;
shadowView.backgroundColor = [UIColor clearColor];
[self.view bringSubviewToFront:shadowView];
}
关于objective-c - UITableView 层上的内部阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12602529/