将事件附加到 UIWebView ScrollViewer 会阻止缩放

Attaching an event to UIWebView ScrollViewer prevents zooming

每当我将事件附加到 UIWebView 的 ScrollViewer 以检测滚动时,它会阻止 UIWebView 放大和缩小。但是,上下滚动仍然有效。我正在 UIWebView 中查看 PDF。

我试过这些事件:

滚动 滚动动画结束 缩放结束 缩放

例如我试过:

ContractWebView.ScrollView.Scrolled += (object sender, EventArgs e) =>{
   Debug.WriteLine("Scrolled");
};

我已经尝试过一个空的事件主体。

您是否尝试过为 ScrollView 设置委托而不是使用事件?像这样:

public class ScrollViewDelegate : UIScrollViewDelegate
{
    public override void Scrolled(UIScrollView scrollView)
    {
        Console.WriteLine("Scrolled");
    }
}

ContractWebView.ScrollView.Delegate = new ScrollViewDelegate();

编辑: 这是我用于测试的完整代码,它对我有用:

public class IPadViewController1 : UIViewController
{
    public override void ViewDidLoad()
    {
        base.ViewDidLoad();

        UIWebView webview = new UIWebView(new CGRect(0, 0, UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Height));
        webview.ScrollView.Delegate = new ScrollViewDelegate();
        webview.ScalesPageToFit = true;
        View.AddSubview(webview);

        string urlAddress = "http://google.com";
        NSUrl url = NSUrl.FromString(urlAddress);
        //URL Requst Object
        NSUrlRequest requestObj = NSUrlRequest.FromUrl(url);
        webview.LoadRequest(requestObj);
    }
}