コード例 #1
0
        public HtmlElement(string cellKey)
        {
            Key     = new NSString(cellKey);
            WebView = new UIWebView();
            WebView.ScrollView.ScrollEnabled = false;
            WebView.ScalesPageToFit          = true;
            WebView.ScrollView.Bounces       = false;
            WebView.ShouldStartLoad          = (w, r, n) => ShouldStartLoad(r, n);
            WebView.LoadFinished            += (sender, e) =>
            {
                _height = WebView.SizeThatFits(CGSize.Empty).Height;
                if (HeightChanged != null)
                {
                    HeightChanged(_height);
                }
            };

            HeightChanged = (x) => {
                var root = this.GetRootElement();
                if (root != null)
                {
                    root.Reload(this);
                }
            };
        }
コード例 #2
0
ファイル: Helpers.cs プロジェクト: TrevorDArcyEvans/EllieSoft
        public static UIImage GetImageFromWebPage(UIWebView webPage, LoadingView lv)
        {
            var oldFrame = webPage.Frame;

            try
            {
                lv.Show();
                var frame       = webPage.Frame;
                var fittingSize = webPage.SizeThatFits(new SizeF());
                frame.Size    = fittingSize;
                webPage.Frame = frame;

                UIGraphics.BeginImageContext(new SizeF(webPage.Bounds.Width, webPage.Bounds.Height));
                webPage.Layer.RenderInContext(UIGraphics.GetCurrentContext());

                var viewImage = UIGraphics.GetImageFromCurrentImageContext();

                UIGraphics.EndImageContext();

                return(viewImage);
            }
            finally
            {
                webPage.Frame = oldFrame;
                lv.Hide();
            }
        }
コード例 #3
0
ファイル: ViewExtension.cs プロジェクト: faizworks/Xamarin
        public static void AdjustHeightAccordingToContent(this UIWebView webView)
        {
            var    contentHeight    = webView.ScrollView.ContentSize.Height;
            var    webViewHeight    = webView.Frame.Height;
            CGSize mWebViewTextSize = webView.SizeThatFits(new CGSize(1.0f, 1.0f));
            CGRect mWebViewFrame    = webView.Frame;

            mWebViewFrame = new CGRect(webView.Frame.X, webView.Frame.Y, webView.Frame.Width, mWebViewTextSize.Height);
            webView.Frame = mWebViewFrame;
            //Disable bouncing in webview
            foreach (var subview in webView.Subviews)
            {
                if (subview.GetType() == typeof(UIScrollView))
                {
                    ((UIScrollView)subview).Bounces = false;
                }
            }
        }