试图缩放多层UIViews

时间:2016-10-28 22:52:31

标签: ios uiscrollview swift3 uiscrollviewdelegate

请指出正确的方向 - 我找不到解决问题的解决方案或教程..

我在ViewController中有以下视图层次结构:

UIView
  ScrollView
    Container
      Drawing
      Image

我可以使用点按手势放大和缩小,但是,我不希望图纸视图中的笔调整大小。我需要能够在图像上更详细地绘制线条。

如果我单独缩放视图,那么笔与图像不同步。

视图在IB中设置。 ViewDidLoad中用于初始化事物的代码如下:

scrollView.backgroundColor = UIColor.black
        scrollView.contentSize = imageView.frame.size

        scrollView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

        let tap = UITapGestureRecognizer(target: self, action: #selector(doubleTapped))
        tap.numberOfTapsRequired = 2
        imageView.addGestureRecognizer(tap)
        scrollView.minimumZoomScale = 1.0
        scrollView.maximumZoomScale = 4.0
        scrollView.delegate = self

缩放方法是:

func viewForZooming(在scrollView中:UIScrollView) - > UIView的? {     返回imageView }

我尝试过以下替代方案:

scrollView.contentSize = drawingView.frame.size and
..
return drawingView

我还将imageView设置为drawingView的子视图。 最后,我将它们都设置为容器视图的子视图(UIView,而不是UIContainerView。

我符合UIScrollViewDelegate。

任何帮助都将不胜感激。

0 个答案:

没有答案