ScrollView上绘制的线条不是滚动?

时间:2013-04-29 13:23:23

标签: ios objective-c uiscrollview drawrect

在我的应用程序中,我已经将UIScrollView子类化,并在drawRect方法中绘制水平线

我将ContentSize的高度设置为大于scrollView的高度。我用下面的方法绘制线条

但我的问题是我绘制的线条没有使用View滚动。

-(id)initWithFFrame:(CGRect)rect
{
  _gap=36;
}
- (void)drawRect:(CGRect)rect
{
    // Drawing code
    int end=0;
    NSLog(@"called");
    int x=self.frame.size.width;
    while (end<self.contentSize.height) {
        CGContextRef context=UIGraphicsGetCurrentContext();
        CGContextSetLineWidth(context, 1);
        CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
        CGContextMoveToPoint(context, 0, end);
        CGContextAddLineToPoint(context, x, end);
        CGContextStrokePath(context);
        end=end+_gap;
    }
}

我可以注意到滚动条在滚动时上下移动但线条没有移动。

1 个答案:

答案 0 :(得分:2)

问题是这些行是UIScrollView的一部分,而不是它的内容。

您需要创建一个新的UIView子类,在那里绘制内容,然后将其添加到UIScrollView