рисовать при вращении - PullRequest
       0

рисовать при вращении

1 голос
/ 13 февраля 2012

Я работаю над приложением для сенсорного рисования, все работает нормально в портретной ориентации, но когда я поворачиваю iPad, линия, которую я рисую при касании, находится на 5 см выше моего пальца.

iv я много гуглилчтобы попытаться выяснить, как меняется x & y при вращении.

Может ли кто-нибудь из вас мне помочь?

мой код для рисования это:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

mouseSwiped = YES;

UITouch *touch = [touches anyObject];   
CGPoint currentPoint = [touch locationInView:self.view];
currentPoint.y -= -20;


UIGraphicsBeginImageContext(self.view.frame.size);

[drawImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
CGContextSaveGState(UIGraphicsGetCurrentContext());
CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), YES);
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeCopy);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), f5);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), f1, f2, f3, f4);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
CGContextRestoreGState(UIGraphicsGetCurrentContext());
UIGraphicsEndImageContext();

lastPoint = currentPoint;


mouseMoved++;

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

1 Ответ

1 голос
/ 17 февраля 2012

Я использовал границы в моем appDelegate и рамку в моем коде рисования ... я изменил это на:

 UIGraphicsBeginImageContext(self.view.bounds.size);

[drawImage.image drawInRect:CGRectMake(0, 0, self.view.bounds.size.width,self.view.bounds.size.height)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...