コード例 #1
0
        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);
        }
コード例 #2
0
        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 });
        }
コード例 #3
0
        public WebBrowserViewController(bool navigationToolbar, bool showPageAsTitle = false)
        {
            NavigationItem.BackBarButtonItem = new UIBarButtonItem {
                Title = ""
            };
            NavigationItem.LeftBarButtonItem = _closeButton;

            _web = new UIWebView {
                ScalesPageToFit = true
            };
            _web.ShouldStartLoad = (w, r, n) => true;

            _web.LoadStarted += (sender, e) => {
                NetworkActivityService.Instance.PushNetworkActive();
                _refreshButton.Enabled = false;
            };

            _web.LoadError += (sender, e) => {
                _refreshButton.Enabled = true;
            };

            _web.LoadFinished += (sender, e) => {
                NetworkActivityService.Instance.PopNetworkActive();
                _backButton.Enabled    = _web.CanGoBack;
                _forwardButton.Enabled = _web.CanGoForward;
                _refreshButton.Enabled = true;

                if (showPageAsTitle)
                {
                    Title = _web.EvaluateJavascript("document.title");
                }
            };

            if (navigationToolbar)
            {
                ToolbarItems = new [] {
                    _backButton,
                    new UIBarButtonItem(UIBarButtonSystemItem.FixedSpace)
                    {
                        Width = 40f
                    },
                    _forwardButton,
                    new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace),
                    _refreshButton
                };
            }

            EdgesForExtendedLayout = UIRectEdge.None;

            this.WhenAnyValue(x => x.ViewModel.Uri)
            .SubscribeSafe(x => _web.LoadRequest(new NSUrlRequest(new NSUrl(x.AbsoluteUri))));

            OnActivation(d => {
                d(_backButton.GetClickedObservable().Subscribe(_ => _web.GoBack()));
                d(_forwardButton.GetClickedObservable().Subscribe(_ => _web.GoForward()));
                d(_refreshButton.GetClickedObservable().Subscribe(_ => _web.Reload()));
                d(_closeButton.GetClickedObservable().Subscribe(_ => DismissViewController(true, null)));
            });
        }
コード例 #4
0
        /// <summary>
        /// Resizes the webview when the device rotates
        /// </summary>
        public override bool ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation toInterfaceOrientation)
        {
            if (_webView != null && (toInterfaceOrientation == UIInterfaceOrientation.LandscapeLeft || toInterfaceOrientation == UIInterfaceOrientation.LandscapeRight))
            {
                _webView.Frame = new System.Drawing.RectangleF(0, 0, 480, 320);
                _webView.Reload();
            }
            else if (_webView != null)
            {
                _webView.Frame = new System.Drawing.RectangleF(0, 0, 320, 480);
            }

            return(true);
        }
コード例 #5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();
            this.NavigationController.NavigationBar.BarStyle = UIBarStyle.BlackOpaque;
            this.NavigationController.NavigationBar.TintColor = UIColor.White;
            this.NavigationController.NavigationBar.BarTintColor = UIColor.FromRGB (0, 176, 202);
            this.NavigationController.NavigationBar.TitleTextAttributes = new UIStringAttributes()
            {
                ForegroundColor = UIColor.White
            };

            Title = "Yagbani";
            View.BackgroundColor = UIColor.White;

            webView = new UIWebView(View.Bounds);
            View.AddSubview(webView);

            var url = "http://yagbaniac14.wix.com/aquacultureknowledgeproject";
            webView.LoadRequest (new NSUrlRequest (new NSUrl (url)));

            webView.ScalesPageToFit = true;

            this.SetToolbarItems( new UIBarButtonItem[] {
                new UIBarButtonItem(UIBarButtonSystemItem.Refresh, (s,e) => {
                    webView.Reload();
                })
                , new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace) { Width = 10 }
                , new UIBarButtonItem("Home", UIBarButtonItemStyle.Plain, (s,e) => {
                    webView.LoadRequest(new NSUrlRequest (new NSUrl (url)));
                })
                , new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace) { Width = 10 }
                , new UIBarButtonItem(UIBarButtonSystemItem.Rewind, (s,e) => {
                    webView.GoBack();
                })
                , new UIBarButtonItem(UIBarButtonSystemItem.FastForward, (s,e) => {
                    webView.GoForward();
                })
            }, false);

            this.NavigationController.ToolbarHidden = false;
            this.NavigationController.Toolbar.TintColor = UIColor.Black;
        }
コード例 #6
0
        public override void ViewDidLoad()
        {
            var placeholderView = new UIView(new RectangleF(0, 0, 34, 44));

            _rightPlaceholderButton           = new UIBarButtonItem(placeholderView);
            NavigationItem.RightBarButtonItem = _rightPlaceholderButton;

            base.ViewDidLoad();

            View.UserInteractionEnabled = true;
            View.MultipleTouchEnabled   = true;

            _webView = new UIWebView();
            _webView.AutoresizingMask       = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            _webView.UserInteractionEnabled = true;
            _webView.MultipleTouchEnabled   = true;
            _webView.Delegate        = new WebDelegate();
            _webView.ScalesPageToFit = true;

            _webView.LoadStarted += delegate {
                _refreshButton.Enabled = false;
                UpdateNavButtons();
            };

            _webView.LoadFinished += delegate {
                _refreshButton.Enabled = true;
                UpdateNavButtons();
                UpdateTitle();
            };

            _webView.LoadError += (webView, error) => {
                Console.WriteLine("Failed " + error.Error.ToString());
                BTProgressHUD.ShowErrorWithStatus("Failed to load page");

                NSTimer.CreateScheduledTimer(2d, delegate {
                    BTProgressHUD.Dismiss();
                });
            };

            View.AddSubview(_webView);

            _bottomToolbar = new UIToolbar();
            _bottomToolbar.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
            View.AddSubview(_bottomToolbar);

            _navigateBackButton = new UIBarButtonItem(UIImage.FromFile("back.png"), UIBarButtonItemStyle.Plain, delegate {
                _webView.GoBack();
            });

            _navigateForwardButton = new UIBarButtonItem(UIImage.FromFile("forward.png"), UIBarButtonItemStyle.Plain, delegate {
                _webView.GoForward();
            });

            _refreshButton = new UIBarButtonItem(UIBarButtonSystemItem.Refresh, delegate {
                _webView.Reload();
            });

            _bottomToolbar.SetItems(new [] {
                _navigateBackButton,
                new UIBarButtonItem(UIBarButtonSystemItem.FixedSpace)
                {
                    Width = 5
                },
                _navigateForwardButton,
                new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace),
                _refreshButton
            },
                                    false);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        public override void ViewDidLoad()
        {
            var placeholderView = new UIView(new RectangleF(0, 0, 34, 44));
            _rightPlaceholderButton = new UIBarButtonItem(placeholderView);
            NavigationItem.RightBarButtonItem = _rightPlaceholderButton;

            base.ViewDidLoad();

            View.UserInteractionEnabled = true;
            View.MultipleTouchEnabled = true;

            _webView = new UIWebView();
            _webView.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            _webView.UserInteractionEnabled = true;
            _webView.MultipleTouchEnabled = true;
            _webView.Delegate = new WebDelegate();
            _webView.ScalesPageToFit = true;

            _webView.LoadStarted += delegate {
                _refreshButton.Enabled = false;
                UpdateNavButtons ();
            };

            _webView.LoadFinished += delegate {
                _refreshButton.Enabled = true;
                UpdateNavButtons ();
                UpdateTitle ();
            };

            _webView.LoadError += (webView, error) => {
                Console.WriteLine ("Failed " + error.Error.ToString ());
                BTProgressHUD.ShowErrorWithStatus ("Failed to load page");

                NSTimer.CreateScheduledTimer(2d, delegate {
                    BTProgressHUD.Dismiss ();
                });
            };

            View.AddSubview(_webView);

            _bottomToolbar = new UIToolbar();
            _bottomToolbar.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
            View.AddSubview(_bottomToolbar);

            _navigateBackButton = new UIBarButtonItem(UIImage.FromFile("back.png"), UIBarButtonItemStyle.Plain, delegate {
                _webView.GoBack();
            });

            _navigateForwardButton = new UIBarButtonItem(UIImage.FromFile("forward.png"), UIBarButtonItemStyle.Plain, delegate {
                _webView.GoForward();
            });

            _refreshButton = new UIBarButtonItem(UIBarButtonSystemItem.Refresh, delegate {
                _webView.Reload();
            });

            _bottomToolbar.SetItems(new [] {
                _navigateBackButton,
                new UIBarButtonItem(UIBarButtonSystemItem.FixedSpace) { Width = 5 },
                _navigateForwardButton,
                new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace),
                _refreshButton },
            false);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
 public void Refresh()
 {
     webView.Reload();
 }