我有一个 UIScrollView,我想绘制一条高度为 UIScrollView contentHeight 的垂直线。如何在不牺牲性能的情况下轻松做到这一点?我正在考虑使用高度非常大的 UIVIew(因为我们不知道 scrollView 的 contentHeight 是什么)并将其添加为 UIScrollView 的子视图。还有比这更好的方法吗?
这条线基本上是 10px 宽,灰色,从 scrollView 的顶部到底部。
这是我现在所拥有的,我基本上覆盖了 UIScrollView drawRect:
- (void)drawRect:(CGRect)rect
{
if (shouldDrawVerticalLineForProfile){
CGContextRef context = UIGraphicsGetCurrentContext();
CGColorRef separatorColor = [UIColor colorWithRed:47.0/255.0 green:47.0/255.0
blue:47.0/255.0 alpha:1.0].CGColor;
// Add at bottom
CGPoint startPoint = CGPointMake(30, 0);
CGPoint endPoint = CGPointMake(30, 10000);
CGContextSaveGState(context);
CGContextSetLineCap(context, kCGLineCapSquare);
CGContextSetStrokeColorWithColor(context, separatorColor);
CGContextSetLineWidth(context, 5.0);
CGContextMoveToPoint(context, startPoint.x + 0.5, startPoint.y + 0.5);
CGContextAddLineToPoint(context, endPoint.x + 0.5, endPoint.y + 0.5);
CGContextStrokePath(context);
CGContextRestoreGState(context);
}
}