我有一个滚动视图,它包含一个图像视图,它本身可以捏合和缩放。我的问题是,当我以编程方式向滚动视图添加其他图像视图时,他们正在进行缩放而不是主滚动视图。事实上,scrollView然后被“锁定”以进行平移和缩放。
我想要做的是“同步”我放在滚动视图上的所有图像以响应捏合和缩放,以便在我最终得到的任何zoomScale中,所有内容都以正确的“比例”大小显示。
这就是我在屏幕上放置新图像的方式:
let singleTapRecognizer = UITapGestureRecognizer(target: self, action: "scrollViewSingleTapped:")
singleTapRecognizer.numberOfTapsRequired = 1
singleTapRecognizer.numberOfTouchesRequired = 1
scrollView.addGestureRecognizer(singleTapRecognizer)
这是添加图像的例程:
imageView = UIImageView(image: UIImage(named: "Fingerprint36x36.png"))
imageView.tag = 1999
imageView.center = CGPoint(x: pointInView.x, y: pointInView.y);
scrollView.addSubview(imageView)
一旦发生这种情况,“self”似乎成为新的视图控件,而不是scrollView。
所以我“想”我的问题是:我如何将gestureRecognizer集中在ScrollView而不是“最顶级”的imageView?
我没有为UIPinchGestureRecognizer设置任何代码。它只是默认工作,因为我正在使用ScrollView。
感谢您的帮助。 :) 标记
答案 0 :(得分:2)
好的,我想通了,想分享......
在委托中,我正在重复使用相同的变量作为我放置在背景上的图像。更改了图像名称,问题自行消失......
func viewForZoomingInScrollView(scrollView: UIScrollView!) -> UIView! {
return imageView
}
imageView最初是我的背景名称,然后重新用作我的xy指针图像的名称。我在错误的地方寻找了很长时间,但终于找到了另一个相似的线程,这促使我看看这个功能。