将事件附加到UIWebView ScrollViewer可防止缩放

时间:2015-05-13 16:42:19

标签: c# ios uiwebview xamarin

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

我尝试过这些事件:

滚动 ScrolledAnimationEnded ZoomingEnded DidZoom

例如我试过:

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

我有一个事件尝试了一个空事件体。

1 个答案:

答案 0 :(得分:3)

您是否尝试将代理设置为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);
    }
}