我有一个view
,其中包含一个包含平移手势的subview
。 subview
包含一个额外的subSubview
,它还有一个自己的平移手势识别器。
view - >子视图 - > subSubview
通常,subview
和subSubview
都没有问题。
然后我执行:
view.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
这也会将subview
和subSubview
缩放2.0
现在,当我尝试平移时,subview
的平移手势方法继续完美运行。
然而,subSubview
平移手势现在只有大约10%的时间被拾取。我还没有找到导致它触发这几次的原因的任何模式。
此外,subSubview
每次都会正确地选择touchesBegan
,但是除了十分之一的尝试之外,它不会再触发平移手势。
一旦我将view
缩小到1.0,一切都会恢复正常。
有关此处发生了什么以及我可以采取哪些措施来解决问题的想法?
谢谢!
答案 0 :(得分:0)
不是使用缩放视图外观但实际上不改变其边界的变换,而是尝试实际更改宽度/高度约束(可动画),因为这会影响视图的实际边界/大小,这是手势识别器关心的是什么。