public override void ViewDidLoad() { base.ViewDidLoad(); navBar = new UIToolbar(); navBar.Frame = new RectangleF(0, this.View.Frame.Height - 130, this.View.Frame.Width, 40); items = new UIBarButtonItem [] { new UIBarButtonItem("Back", UIBarButtonItemStyle.Bordered, (o, e) => { webView.GoBack(); }), new UIBarButtonItem("Forward", UIBarButtonItemStyle.Bordered, (o, e) => { webView.GoForward(); }), new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null), new UIBarButtonItem(UIBarButtonSystemItem.Refresh, (o, e) => { webView.Reload(); }), new UIBarButtonItem(UIBarButtonSystemItem.Stop, (o, e) => { webView.StopLoading(); }) }; navBar.Items = items; webView = new UIWebView(); webView.Frame = new RectangleF(0, 0, View.Frame.Width, View.Frame.Height - 130); webView.LoadStarted += delegate { UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true; }; webView.LoadFinished += delegate { UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false; }; webView.ScalesPageToFit = true; webView.SizeToFit(); webView.LoadRequest(url); View.AddSubview(webView); View.AddSubview(navBar); }
public override void ViewDidLoad() { base.ViewDidLoad(); navBar = new UIToolbar(); navBar.Frame = new CGRect(0, View.Frame.Height - 40, View.Frame.Width, 40); navBar.TintColor = UIColor.Gray; items = new [] { new UIBarButtonItem(UIBarButtonSystemItem.Stop, (o, e) => { webView.StopLoading(); DismissViewController(true, null); }), new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null), new UIBarButtonItem(UIBarButtonSystemItem.Refresh, (o, e) => webView.Reload()) }; navBar.Items = items; webView = new UIWebView(); webView.Frame = new CGRect(0, 0, View.Frame.Width, View.Frame.Height - 40); webView.ScalesPageToFit = true; webView.SizeToFit(); webView.LoadRequest(url); navBar.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleTopMargin; webView.AutoresizingMask = UIViewAutoresizing.FlexibleDimensions; View.AddSubviews(new UIView[] { webView, navBar }); }
void OnDestroy() { // load a blank page before removing it _webview.StopLoading(); _webview.LoadHTMLString("", new NSURL("")); _webview.RemoveFromSuperview(); // _webview.hidden = true; _webview = null; _request = null; _url = null; }
public override void ViewDidLoad() { base.ViewDidLoad(); //navigation bar NavigationItem.LeftBarButtonItem = new UIBarButtonItem(UIBarButtonSystemItem.Cancel, (sender, e) => { webView.StopLoading(); this.redirectUrlCallback(null, true); this.DismissViewController(true, null); }); var activityStyle = UIActivityIndicatorViewStyle.White; activity = new UIActivityIndicatorView(activityStyle); NavigationItem.RightBarButtonItem = new UIBarButtonItem(activity); //init webView webView = new UIWebView(this.View.Bounds); webView.AutoresizingMask = UIViewAutoresizing.All; this.View.AddSubview(webView); webView.ShouldStartLoad = (webView, request, navigationType) => { string requestUrl = request.Url.AbsoluteString; if (redirectUrlValidator(requestUrl)) { ValidateRedirectUrl(requestUrl); return(false); } else { return(true); } }; webView.LoadStarted += (sender, e) => { activity.StartAnimating(); }; webView.LoadFinished += (sender, e) => { activity.StopAnimating(); }; webView.LoadError += (sender, e) => { activity.StopAnimating(); }; //load webView.LoadRequest(NSUrlRequest.FromUrl(NSUrl.FromString(url))); }
public override void Dispose() { if (activityIndicator != null) { if (isActivityIndicatorVisible) { activityIndicator.RemoveFromSuperview(); isActivityIndicatorVisible = false; } activityIndicator.Dispose(); activityIndicator = null; } if (webView != null) { webView.StopLoading(); webView.Delegate = null; var localWebView = webView; Application.InvokeOnMainThread(() => { localWebView.RemoveFromSuperview(); // RemoveFromSuperview must run in main thread only. localWebView.Dispose(); }); webView = null; } }
protected WebViewController() { var fixedSpace = new UIBarButtonItem(UIBarButtonSystemItem.FixedSpace, null) { Width = 26 }; var flexibleSpace = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null); toolbar = new UIToolbar(); topBar = new UIToolbar(); title = new UILabel(new RectangleF(10, 0, 80, 30)) { BackgroundColor = UIColor.Clear, AdjustsFontSizeToFitWidth = true, Font = UIFont.BoldSystemFontOfSize(22), MinimumFontSize = 14, TextColor = UIColor.White, ShadowColor = UIColor.FromRGB(64, 74, 87), ShadowOffset = new SizeF(0, -1) }; topBar.Items = new UIBarButtonItem [] { new UIBarButtonItem(title), flexibleSpace, new UIBarButtonItem(Locale.GetText("Close"), UIBarButtonItemStyle.Bordered, (o, e) => { DismissModalViewControllerAnimated(true); }) }; backButton = new UIBarButtonItem(UIImage.FromBundle("Images/back.png"), UIBarButtonItemStyle.Plain, (o, e) => { WebView.GoBack(); }); forwardButton = new UIBarButtonItem(UIImage.FromBundle("Images/forward.png"), UIBarButtonItemStyle.Plain, (o, e) => { WebView.GoForward(); }); refreshButton = new UIBarButtonItem(UIBarButtonSystemItem.Refresh, (o, e) => { WebView.Reload(); }); stopButton = new UIBarButtonItem(UIBarButtonSystemItem.Stop, (o, e) => { WebView.StopLoading(); }); toolbar.Items = new UIBarButtonItem [] { backButton, fixedSpace, forwardButton, flexibleSpace, stopButton, fixedSpace, refreshButton }; View.AddSubview(topBar); View.AddSubview(toolbar); }
public override void Selected (DialogViewController dvc, UITableView tableView, NSIndexPath path) { int i = 0; var vc = new WebViewController (this) { Autorotate = dvc.Autorotate }; web = new UIWebView (UIScreen.MainScreen.Bounds) { BackgroundColor = UIColor.White, ScalesPageToFit = true, AutoresizingMask = UIViewAutoresizing.All }; web.LoadStarted += delegate { // this is called several times and only one UIActivityIndicatorView is needed if (i++ == 0) { var indicator = new UIActivityIndicatorView (UIActivityIndicatorViewStyle.White); vc.NavigationItem.RightBarButtonItem = new UIBarButtonItem (indicator); indicator.StartAnimating (); } NetworkActivity = true; }; web.LoadFinished += delegate { if (--i == 0) { // we stopped loading, remove indicator and dispose of UIWebView vc.NavigationItem.RightBarButtonItem = null; web.StopLoading (); web.Dispose (); } NetworkActivity = false; }; web.LoadError += (webview, args) => { NetworkActivity = false; vc.NavigationItem.RightBarButtonItem = null; if (web != null) web.LoadHtmlString ( String.Format ("<html><center><font size=+5 color='red'>{0}:<br>{1}</font></center></html>", "An error occurred:".GetText (), args.Error.LocalizedDescription), null); }; vc.NavigationItem.Title = Caption; vc.View.AutosizesSubviews = true; vc.View.AddSubview (web); dvc.ActivateController (vc); web.LoadRequest (NSUrlRequest.FromUrl (nsUrl)); }
public override void ViewWillDisappear(bool animated) { web.StopLoading(); web.Delegate = null; UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false; }
public override void ViewDidLoad() { base.ViewDidLoad(); navBar = new UIToolbar(); if (AppDelegate.IsPhone) { navBar.Frame = new RectangleF(0, View.Frame.Height - 40, View.Frame.Width, 40); } else { navBar.Frame = new RectangleF(0, View.Frame.Height - 40, View.Frame.Width, 40); } navBar.TintColor = UIColor.DarkGray; items = new UIBarButtonItem [] { new UIBarButtonItem("Back", UIBarButtonItemStyle.Bordered, (o, e) => { webView.GoBack(); }), new UIBarButtonItem("Forward", UIBarButtonItemStyle.Bordered, (o, e) => { webView.GoForward(); }), new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null), new UIBarButtonItem(UIBarButtonSystemItem.Refresh, (o, e) => { webView.Reload(); }), new UIBarButtonItem(UIBarButtonSystemItem.Stop, (o, e) => { webView.StopLoading(); // Phone: NavigationController, Pad: Modal if (NavigationController == null) { DismissViewController(true, () => {}); } else { NavigationController.PopViewControllerAnimated(true); } }) }; navBar.Items = items; webView = new UIWebView(); if (AppDelegate.IsPhone) { webView.Frame = new RectangleF(0, 0, View.Frame.Width, View.Frame.Height - 40); } else { webView.Frame = new RectangleF(0, 0, View.Frame.Width, View.Frame.Height - 40); } webView.LoadStarted += delegate { UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true; navBar.Items[0].Enabled = webView.CanGoBack; navBar.Items[1].Enabled = webView.CanGoForward; }; webView.LoadFinished += delegate { UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false; navBar.Items[0].Enabled = webView.CanGoBack; navBar.Items[1].Enabled = webView.CanGoForward; }; webView.ScalesPageToFit = true; webView.SizeToFit(); webView.LoadRequest(url); navBar.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleTopMargin; webView.AutoresizingMask = UIViewAutoresizing.FlexibleDimensions; View.AddSubview(webView); View.AddSubview(navBar); }