【问题标题】:Get the distance between two CGPoints in a UIImageView nested in a UIScrollView获取嵌套在 UIScrollView 中的 UIImageView 中两个 CGPoints 之间的距离
【发布时间】:2013-01-09 03:16:04
【问题描述】:
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 像素)。如何考虑缩放比例?提前致谢, 亚历克斯

【问题讨论】:

    标签: ios uiscrollview uiimageview distance cgpoint


    【解决方案1】:

    当您放大时,距离方法的结果乘以滚动视图的zoomScale。如果您想获得实际距离,请尝试将距离除以滚动视图的zoomScale

    【讨论】:

    • 成功了吗?成功了,请点击左侧的勾号接受答案。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 2011-02-14
    相关资源
    最近更新 更多