예제 #1
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)));
            });
        }
        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;
        }
예제 #3
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);
        }
예제 #4
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);
        }
        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);
        }
예제 #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
        void Internal_ViewDidLoad(string weburl)
        {
            try
            {
                var       url     = "http://www.wineoutlet.com/index.asp";
                UIWebView webView = new UIWebView();
                webView.Frame           = new CGRect(0, 95, UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Height);
                webView.ScalesPageToFit = true;
                if (weburl != null)
                {
                    url = weburl;
                }
                // NOTE: https secure request
                webView.LoadRequest(new NSUrlRequest(new NSUrl(url)));
                UIButton backbutton = new UIButton();
                backbutton.Frame = new CGRect(10, 70, 40, 20);
                backbutton.SetTitle("Back", UIControlState.Normal);
                backbutton.SetTitleColor(UIColor.Black, UIControlState.Normal);
                backbutton.TouchUpInside += delegate
                {
                    Console.WriteLine("Back button Clicked : " + webView.CanGoBack);
                    if (webView.CanGoBack == true)
                    {
                        webView.GoBack();
                    }
                };
                UIButton forwardbutton = new UIButton();
                forwardbutton.Frame = new CGRect(UIScreen.MainScreen.Bounds.Width - 80, 70, 80, 20);
                forwardbutton.SetTitle("Forward", UIControlState.Normal);
                //forwardbutton.
                forwardbutton.SetTitleColor(UIColor.Black, UIControlState.Normal);
                forwardbutton.TouchUpInside += delegate
                {
                    Console.WriteLine("Forward button Clicked : " + webView.CanGoForward);
                    if (webView.CanGoForward == true)
                    {
                        Console.WriteLine(webView.CanGoForward);

                        webView.GoForward();
                    }
                };
                UITextField txturl = new UITextField();
                txturl.Frame = new CGRect(60, 70, UIScreen.MainScreen.Bounds.Width - 140, 20);
                txturl.Text  = url;
                txturl.UserInteractionEnabled = false;
                txturl.BorderStyle            = UITextBorderStyle.RoundedRect;
                View.AddSubview(txturl);
                View.AddSubview(webView);
                View.AddSubview(backbutton);
                View.AddSubview(forwardbutton);
                BTProgressHUD.Dismiss();
                //nfloat ScreenHeight = UIScreen.MainScreen.Bounds.Height;
                //ScreenHeight = (ScreenHeight - 100) / 3;
                //nfloat margin = 1;
                //nfloat start = 50;
                //UIButton btnBlog = new UIButton();
                //UIButton btnWineries = new UIButton();
                //UIButton btnRegions = new UIButton();
                //btnBlog.Frame = new CGRect(0, start, UIScreen.MainScreen.Bounds.Width, ScreenHeight);
                //btnWineries.Frame = new CGRect(0, start + ScreenHeight + margin, UIScreen.MainScreen.Bounds.Width, ScreenHeight);
                //btnRegions.Frame = new CGRect(0, start + (ScreenHeight + margin) * 2, UIScreen.MainScreen.Bounds.Width, ScreenHeight);
                //btnBlog.SetTitle("Profile", UIControlState.Normal);
                //btnWineries.SetTitle("Eno View Demo", UIControlState.Normal);
                //btnRegions.SetTitle("Region", UIControlState.Normal);
                //btnBlog.SetBackgroundImage(new UIImage("Images/myprofile.jpg"), UIControlState.Normal);
                //btnWineries.SetBackgroundImage(new UIImage("Images/Wineries.jpg"), UIControlState.Normal);
                //btnRegions.SetBackgroundImage(new UIImage("Images/Region.jpg"), UIControlState.Normal);
                //View.AddSubview(btnBlog);
                //View.AddSubview(btnWineries);
                //View.AddSubview(btnRegions);
                //btnBlog.TouchDown += (sender, e) =>
                //{
                //	BTProgressHUD.Show("Loading..."); //show spinner + text
                //};
                ////btnWineries.TouchDown += (sender, e) =>
                ////{
                ////	BTProgressHUD.Show("Loading..."); //show spinner + text
                ////};
                //btnBlog.TouchUpInside += (sender, e) =>
                //{
                //	//NavigationController.PushViewController(new ProfileViewController(NavigationController), false);
                //	//NavigationController.NavigationBar.TopItem.Title = "Profile";
                //	NavigationController.PushViewController(new DummyViewController(), false);
                //	LoggingClass.LogInfo("Entered into Profile View", screen);
                //	BTProgressHUD.Dismiss();
                //};
                //btnRegions.TouchUpInside += (sender, e) =>
                //{
                //	UIAlertView alert = new UIAlertView()
                //	{
                //		Title = "Region",
                //		Message = "Coming Soon..."
                //	};
                //	LoggingClass.LogInfo("Entered into Region", screen);
                //	alert.AddButton("OK");
                //	alert.Show();
                //};
                //btnWineries.TouchUpInside += (sender, e) =>
                //{
                //	UIAlertView alert = new UIAlertView()
                //	{
                //		Title = "Eno View",
                //		Message = "Coming Soon..."
                //	};
                //	LoggingClass.LogInfo("Entered into Wineries", screen);
                //	alert.AddButton("OK");
                //	alert.Show();
                ////var lineLayout = new LineLayout()
                ////{
                ////	ItemSize = new CGSize(120, 300),
                ////	SectionInset = new UIEdgeInsets(10.0f, 10.0f, 10.0f, 10.0f),
                ////	ScrollDirection = UICollectionViewScrollDirection.Horizontal
                ////};
                ////NavigationController.PushViewController(new SimpleCollectionViewController(lineLayout,2), false);
                //BTProgressHUD.Dismiss();
                //};
            }
            catch (Exception ex)
            {
                LoggingClass.LogError(ex.ToString(), screen, ex.StackTrace);
            }
        }
        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);
        }
예제 #9
0
 public void GoForward()
 {
     webView.GoForward();
 }