以编程方式启用/禁用捏合以放大WKWebView和viewForZoomingInScrollView

时间:2016-04-12 18:22:14

标签: swift wkwebview

我有一个WKWebView,我想以编程方式启用/禁用捏缩放。

当我想启用捏缩放时,我应该返回什么?

wkWebView!.scrollView打破

  

'从viewForZoomingInScrollView返回的视图:必须是子视图   滚动视图。它不能是滚动视图本身。'

func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {

  if pinchToZoom {
    return ???
  } else {
    return nil
  }
}

2 个答案:

答案 0 :(得分:0)

using System.Collections.Generic;
using System.IO;
using System;
using YamlDotNet.Serialization;

public class ALogger {
    public function writeFile() {
        using (var sw = new StreamWriter(_logFileCasesPath + @"\" + _logCaseName))
        {
            var ser = new Serializer();
            ser.Serialize(sw, _logCase);
        }
    }
}

答案 1 :(得分:0)

我的解决方案是仅在禁用缩放时将self设置为webView.scrollView的委托,如果启用了缩放,则将其重置为nil

var pinchToZoom: Bool {
    didSet {
        // only set self as delegate when disabling zoom
        webView.scrollView.delegate = pinchToZoom ? nil : self
    }
}

func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
    return nil
}

这样,只要设置了pinchToZoom,代理就会更新以启用/禁用缩放。不需要私有API。希望这有帮助!