Цель C: рисовать (писать) на ощупь в UIScrollView - PullRequest
1 голос
/ 25 января 2012

У меня есть этот код на моих прикосновенияхMoved, но, как и на других, он не работает на UIScrollView

Вот он, на моих прикосновенияхMoved:

touchSwiped = YES;

    currentTouch = [touch locationInView:self.view];
    currentTouch.y -= 5;

    UIGraphicsBeginImageContext(self.view.frame.size);
    [writeView.image drawInRect:CGRectMake(0, 0, 768, 1024)];

    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetLineCap(context, kCGLineCapRound);
    CGContextSetLineWidth(context, 15);
    CGContextSetRGBStrokeColor(context, 0, 0, 0, 1);
    CGContextSetBlendMode(context, kCGBlendModeNormal);
    CGContextMoveToPoint(context, endPoint.x, endPoint.y);
    CGContextAddLineToPoint(context, currentTouch.x, currentTouch.y);
    CGContextStrokePath(context);
    writeView.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    endPoint = currentTouch;

    touchMoved++;

    if (touchMoved == 10) {
        touchMoved = 0;
    }

, поэтому я перенес его с помощью распознавателя жестовно все равно он не работает.

я использовал PanGestureRecognizer

здесь:

- (void) writePan:(UIPanGestureRecognizer *)writingRecognizerP {
    switch (writingRecognizerP.state)
    {
        case UIGestureRecognizerStateChanged:

            [scrollView setScrollEnabled:NO];
            [scrollView setUserInteractionEnabled:NO];

            touchSwiped = YES;

            currentTouch = [writingRecognizerP locationInView:scrollView];
            currentTouch.y -= 5;

            UIGraphicsBeginImageContext(self.view.frame.size);
            [writeView.image drawInRect:CGRectMake(0, 0, 768, 1024)];

            CGContextRef context = UIGraphicsGetCurrentContext();

            CGContextSetLineCap(context, kCGLineCapRound);
            CGContextSetLineWidth(context, 15);
            CGContextSetRGBStrokeColor(context, 0, 0, 0, 1);
            CGContextSetBlendMode(context, kCGBlendModeNormal);
            CGContextMoveToPoint(context, endPoint.x, endPoint.y);
            CGContextAddLineToPoint(context, currentTouch.x, currentTouch.y);
            CGContextStrokePath(context);
            writeView.image = UIGraphicsGetImageFromCurrentImageContext();
            UIGraphicsEndImageContext();

            endPoint = currentTouch;

            touchMoved++;

            if (touchMoved == 10) {
                touchMoved = 0;
            }


            break;

        case UIGestureRecognizerStateEnded:
            [scrollView setScrollEnabled:YES];
            [scrollView setUserInteractionEnabled:YES];
            break;

    }

}

любой, кто имеет представление о том, как я смогу писать на ощупь ??

это будет высоко ценится!:)

1 Ответ

0 голосов
/ 25 января 2012

Вы должны сделать все свои рисунки в -drawRect:, и когда что-то изменится, отправьте сообщение -setNeedsDisplay или setNeedsDisplayInRect:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...