我需要自定义表格的单元格,创建两个透明条,一个对应 UITableViewCell 的上边缘,另一个对应下边缘。这些条带应该是透明的,才能看到下面视图的颜色(浅黄色)。我创建了 UITableViewCell 的子类并构建了方法 LayoutSubviews() 来绘制条带,这是错误的吗?我得到这个错误:
<Error>: CGContextBeginPath: invalid context 0x0
<Error>: CGContextMoveToPoint: invalid context 0x0
<Error>: CGContextAddLineToPoint: invalid context 0x0
<Error>: CGContextSetLineWidth: invalid context 0x0
<Error>: CGContextSetFillColorWithColor: invalid context 0x0
<Error>: CGContextMoveToPoint: invalid context 0x0
<Error>: CGContextAddLineToPoint: invalid context 0x0
<Error>: CGContextSetLineWidth: invalid context 0x0
<Error>: CGContextSetFillColorWithColor: invalid context 0x0
这是 CustomCell.m 中的代码:
-(void) layoutSubviews{
[super layoutSubviews];
CGContextRef ctxt = UIGraphicsGetCurrentContext();
CGContextBeginPath(ctxt);
CGContextMoveToPoint(ctxt, self.bounds.origin.x, self.bounds.origin.y);
CGContextAddLineToPoint(ctxt, self.bounds.size.width, self.bounds.origin.y);
CGContextSetLineWidth(ctxt, 5);
CGContextSetFillColorWithColor(ctxt, [UIColor clearColor].CGColor);
CGContextMoveToPoint(ctxt, self.bounds.origin.x, self.bounds.size.height);
CGContextAddLineToPoint(ctxt, self.bounds.size.width, self.bounds.size.height);
CGContextSetLineWidth(ctxt, 5);
CGContextSetFillColorWithColor(ctxt, [UIColor clearColor].CGColor);
CGContextStrokePath(ctxt);
}