objective-c - UITableView 层上的内部阴影?

标签 objective-c ios cocoa-touch uitableview shadow

我需要为我的 UITableView 添加一个内部阴影效果。我发现了这篇关于向 UIView 层添加内部阴影的有用帖子:Inner shadow effect on UIView layer?

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

我试过将 UITableView 作为 subview 添加到 UIView(带有内部阴影)但没有效果。

我的 UITableView 以深灰色背景的 UIViewController View 为中心。给 UITableView 一个内部阴影会给背景带来表格 View 的边框效果。 What I currently have WITHOUT the inner shadow

如何最好地实现我在 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/

相关文章:

objective-c - 2 个文本字段始终等于 100% xcode

ios - 带有 UILocalizedIndexedCollat​​ion 的 Swift 选择器

objective-c - 解析 .plist 项目

iphone - iPhone 3.0 上的 UIColor 限制或错误

objective-c - 如何使用 NSVisualEffectView 制作平滑、圆润、类似体积的 OS X 窗口?

objective-c - 在尽可能少的耦合下在许多类之间传递一个对象

objective-c - 在 Objective-C 中实现调度表 : how to declare an array of selectors

objective-c - 获取 UIView 中的所有对象?

iphone - Xcode - 如何制作通用应用程序

cocoa-touch - 在 iPhone 中显示带有页眉和页脚的 .doc 文件