将UITableView与阴影分组

| 我正在尝试在自定义背景的分组UITableView后面添加阴影。这个很难(硬。我失败了。我一直在尝试使用单元层阴影参数,但是无论如何,阴影最终覆盖了一侧的另一个单元。我只希望阴影均匀地出现在tableview的每个部分的轮廓之外。 如果有人对如何最简单地解决此问题有任何想法,将不胜感激!     
已邀请:
备查;最后,我通过使用自定义UITableView子类解决了该问题,该子类在其layoutSubviews方法中添加了一个空的但有阴影的层: ShadowTableView.h:
@interface ShadowTableView : UITableView {
    CALayer *shadowLayer;
}

@end
ShadowTableView.m:
#import \"ShadowTableView.h\"
#import <QuartzCore/QuartzCore.h>

@implementation ShadowTableView

- (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style {
    self = [super initWithFrame:frame style:style];
    if (self) {
        shadowLayer = [[CALayer alloc] init];

        shadowLayer.backgroundColor = [kCellBgColor CGColor];
        shadowLayer.cornerRadius = 10.0;
        shadowLayer.shadowOpacity = 1.6;
        shadowLayer.shadowOffset = CGSizeMake(0, 3);
        shadowLayer.shadowColor = [[UIColor blackColor] CGColor];
        shadowLayer.shadowRadius = 8.0;
    }
    return self;
}

- (void)dealloc {
    [shadowLayer release];

    [super dealloc];
}

- (void)layoutSubviews {
    [super layoutSubviews];

    if (!shadowLayer.superlayer) {
        [self.layer insertSublayer:shadowLayer atIndex:0];
    }

    shadowLayer.frame = CGRectMake(10.0, 10.0, 300.0,
        self.rowHeight * [self.dataSource tableView:self numberOfRowsInSection:0] + 1);
}
@结束     

要回复问题请先登录注册