координатное преобразование TouchImageView в iOS - PullRequest
1 голос
/ 19 ноября 2011

Я хочу знать окончательную координату предопределенных 2 точек в TouchImageView.1. Если я просто перемещу сенсорное изображение, эти коды в порядке.2. Но если я масштабирую или поворачиваю touchimageview, ptLeft и ptRight не верны.


CGPoint ptLeft  = CGPointMake (100, 100);  
CGPoint ptRight = CGPointMake (200, 200); 
TouchImageView *touchView = [[TouchImageView alloc] initWithFrame:rect];

....
....

/***** get the coordinate after TouchImageView has been scaled or rotated *****/
ptLeft  = CGPointApplyAffineTransform(ptLeft, touchView.transform);  
ptRight  = CGPointApplyAffineTransform(ptRight, touchView.transform);

Вот исходный код touchimageview - Исходный код TouchImageView

1 Ответ

1 голос
/ 19 ноября 2011

Я бы использовал методы UIView convertPoint: fromView: или convertPoint: toView :. Что-то вроде:

ptLeft = [touchView convertPoint:ptLeft toView:[touchView superview]];

(Последний аргумент должен иметь представление, в котором вы хотите получить точку. Похоже, вы пытаетесь получить его в суперпредставлении, но вы можете вместо этого использовать self.view или nil или что-то еще. )

...