获取嵌套在 UIScrollView 中的 UIImageView 中两个 CGPoints 之间的距离

Posted

技术标签:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

成功了吗?成功了,请点击左侧的勾号接受答案。谢谢

以上是关于获取嵌套在 UIScrollView 中的 UIImageView 中两个 CGPoints 之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

嵌套在 UIScrollview 中的 ViewController 中的 presentModalViewController?

缩放嵌套在 UIScrollView 中的子视图

UIScrollView 中的嵌套 UIStackView 子项不会拉伸以填充

滚动发生时嵌套 UIScrollViews 并获取信息

UIScrollView 内的嵌套 UIStackViews:不填充容器的宽度?

UIScrollView及其子类的嵌套联动