我在 IB 中设置了 UITableView 的行分隔符样式和颜色,但是,当表格加载时,分隔线不可见。
我正在使用具有自定义超类的 UITableView CustomTableView
- 这是UITableView
. 在此表中,我还使用了自定义UITableViewCell
.
我能想到的唯一问题是,如果我没有在我的awakeFromNib
方法中调用“超级”实现——但我这样做了,所以不可能那样。
有任何想法吗?
用代码编辑
我的表格单元格如下 - CustomDefaultCell.h > CustomPlainCell.h > UITableViewCell
自定义默认单元格.m
- (void)awakeFromNib
{
[super awakeFromNib];
// Called when loaded from a nib.
// Override all default cell behaviour here.
//
}
CustomPlainCell.m
- (void)awakeFromNib
{
[super awakeFromNib];
// Called when loaded from a nib.
// Override all default cell behaviour here.
//
// Normal background view
self.backgroundView = [[UIView alloc] initWithFrame:self.frame];
self.backgroundView.backgroundColor = [UIColor whiteColor];
// Selected background view
self.selectedBackgroundView = [[UIView alloc] init];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
//
// Background gradient
CAGradientLayer *selectedViewGradientLayer = [CAGradientLayer layer];
selectedViewGradientLayer.frame = CGRectMake(1.0f, 0.0f, 320.0f, CGRectGetHeight(self.frame) + 1.0f);
selectedViewGradientLayer.colors = @[(id)[UIColor colorWithHue:0.0f saturation:0.0f brightness:0.57f alpha:1.0f].CGColor, (id)[UIColor grayColor].CGColor];
[self.selectedBackgroundView.layer addSublayer:selectedViewGradientLayer];
}