2012-09-26 70 views
0

我需要添加一个内部阴影效果到我的UITableView。我发现这是很有帮助的职位上添加内阴影,以一个UIView层:当我尝试,因为UITableView中的细胞都显示在上面,覆盖阴影使用这种技术对一个UITableView Inner shadow effect on UIView layer?UITableView图层上的内部阴影?

,就会出现问题。

我已经玩过将UITableView作为子视图添加到UIView(带有内部阴影),没有任何效果。

我的UITableView集中在UIViewController的视图上,并带有深灰色背景。给UITableView一个内在的阴影会给背景效果是作为表格视图的边框。 What I currently have WITHOUT the inner shadow

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

回答

2

回答我的问题:

我结束了继承一个UIView,并使用这个职位实施的drawRect功能:Inner shadow effect on UIView layer?

然后指示新的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]; 
} 
0

这个职位,我相信,正好覆盖你在找什么:

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

+0

不完全。我已更新我的帖子,以进一步解释为什么... – docksteaderluke

+0

我_think_我明白你想做什么。如果我的理解是正确的,那么可以将灰色框架放置在UITableView顶部的静态图像叠加层上,并编辑其图像,使其包含位于顶部边缘下方的半透明阴影。它不必是一个完整的页面图像,你可以使用一个可伸缩的图像,如下所述:http://idevrecipes.com/2010/12/08/stretchable-images-and-buttons/ – Clafou