一起使用CGAffineTransform和UIPanGestureRecognizer的问题

时间:2016-11-17 18:54:06

标签: ios iphone uiview uigesturerecognizer cgaffinetransform

我有一个view,其中包含一个包含平移手势的subviewsubview包含一个额外的subSubview,它还有一个自己的平移手势识别器。

view - >子视图 - > subSubview

通常,subviewsubSubview都没有问题。

然后我执行:

view.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)

这也会将subviewsubSubview缩放2.0

现在,当我尝试平移时,subview的平移手势方法继续完美运行。

然而,subSubview平移手势现在只有大约10%的时间被拾取。我还没有找到导致它触发这几次的原因的任何模式。

此外,subSubview每次都会正确地选择touchesBegan,但是除了十分之一的尝试之外,它不会再触发平移手势。

一旦我将view缩小到1.0,一切都会恢复正常。

有关此处发生了什么以及我可以采取哪些措施来解决问题的想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

不是使用缩放视图外观但实际上不改变其边界的变换,而是尝试实际更改宽度/高度约束(可动画),因为这会影响视图的实际边界/大小,这是手势识别器关心的是什么。