MonoMobile.Views.DialogViewController.ActivateController C# (CSharp) Method

ActivateController() public method

Activates a nested view controller from the DialogViewController. If the view controller is hosted in a UINavigationController it will push the result. Otherwise it will show it as a modal dialog
public ActivateController ( UIViewController controller, DialogViewController oldController ) : void
controller UIViewController
oldController DialogViewController
return void
		public void ActivateController(UIViewController controller, DialogViewController oldController)
		{
			_Dirty = true;
			
			var parent = ParentViewController;
			var nav = parent as UINavigationController;
			
			if (typeof(DialogViewController) == controller.GetType())
			{
				var dialog = (DialogViewController)controller;

				dialog.TableView.Opaque = false;
				
				if (dialog.BackgroundImage == null)
					dialog.TableView.BackgroundColor = oldController.TableView.BackgroundColor;
			}
			
			// We can not push a nav controller into a nav controller
			if (nav != null && !(controller is UINavigationController))
				nav.PushViewController(controller, true);
			else
				PresentModalViewController(controller, true);
		}

Usage Example

        public void Selected(DialogViewController controller, UITableView tableView, object item, NSIndexPath indexPath)
        {
            var frame = UIScreen.MainScreen.Bounds;

            Web = new UIWebView(frame)
            {
                BackgroundColor = UIColor.White, ScalesPageToFit = true, AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
            };
            Web.LoadStarted  += (sender, e) => NetworkActivity = true;
            Web.LoadFinished += (sender, e) => NetworkActivity = false;
            Web.LoadError    += (webview, args) =>
            {
                NetworkActivity = false;
                if (Web != null)
                {
                    Web.LoadHtmlString(String.Format("<html><center><font size=+5 color='red'>An error occurred:<br>{0}</font></center></html>", args.Error.LocalizedDescription), null);
                }
            };

            _WebViewController = new WebViewController(this)
            {
                Autorotate = controller.Autorotate, Title = Caption
            };
            _WebViewController.View.AddSubview(Web);

            controller.ActivateController(_WebViewController, controller);

            var url = new NSUrl(Value.AbsoluteUri);

            Web.LoadRequest(NSUrlRequest.FromUrl(url));
        }
All Usage Examples Of MonoMobile.Views.DialogViewController::ActivateController