3
CGRect screenSize = [[UIScreen mainScreen]bounds];
CGFloat screenWidth = screenSize.size.width;
CGRect visibleRect;
    visibleRect.origin = scrollView.contentOffset;
    visibleRect.size = imageView.frame.size;
    CGPoint midPoint = CGPointMake(visibleRect.origin.x + visibleRect.size.width / 2, visibleRect.origin.y + visibleRect.size.height / 2);
CGPoint place = CGPointMake(class.xValue, class.yValue);

xValue と yValue は 'int' でクラスで宣言されています。

-(int)distanceFrom:(CGPoint)point1 to:(CGPoint)point2{
CGFloat xDist = ((point2.x) - (point1.x));
CGFloat yDist = ((point2.y) - (point1.y));
return (sqrt((xDist * xDist) + (yDist * yDist)));
}

問題は、アプリをスクロールして zoomScale を変更し、方法を思い出すと、数値が大幅に変化することです (~1000 ピクセル)。zoomScale を考慮するにはどうすればよいですか? 前もって感謝します、アレックス

4

1 に答える 1

0

zoomScaleズームインすると、distance メソッドの結果にスクロール ビューが乗算されます。実際の距離を取得したい場合は、距離をzoomScaleスクロール ビューで割ってみてください。

于 2013-01-29T15:21:52.143 に答える