gpt4 book ai didi

iOS - 捏缩放 - 使用 CGAffineTransform - 到一个点

转载 作者:行者123 更新时间:2023-12-01 16:49:21 25 4
gpt4 key购买 nike

我有一个 UIViewController 正在调用 UIView 类,并且我正在使用 CGAffine Transform 使用以下代码放大我的 UIView 类实例

CGAffineTransform transform = CGAffineTransformMakeScale(recognizer.scale,    recognizer.scale);
NSLog(@"Pinch scale: %f", recognizer.scale);
float scale = recognizer.scale;
float SCALE_MIN = 1.0f;
float SCALE_MAX = 3.0f;
. . .

这个基本代码,有效! (部分代码已省略)

现在的问题是无论我在屏幕上的哪个位置“捏”文件总是从文件的中间缩放,而不是在我捏的位置。 .

关于如何让它放大到被夹住的确切位置有什么建议吗?

最佳答案

locationInView:方法,可用于所有 UIGestureRecognizers , 在 UIPinchGestureRecognizer 的实例上调用时, 将为您提供构成夹点的两次触摸之间的中点。这是我认为你最接近“被挤压的确切位置”的事情。

首次识别手势时,保存 locationInView获取要缩放的点。我不会尝试在捏合过程中更新缩放中心,因为我认为您最终会得到一个不直观的复杂实现。你会希望缩放保持中心点固定,你应该可以通过设置 anchorPoint 来做到这一点。的layer你正在转变的观点。请注意 anchorPoint坐标归一化---默认为 (0.5, 0.5) , View 的中心。

关于iOS - 捏缩放 - 使用 CGAffineTransform - 到一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17458473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com