Exemplo n.º 1
0
        /// <summary>
        /// Creates a ViewModel of the desired type (as well as the  ppropriate View) and inserts it into
        /// the correct Panel Container and inserts the panel container into the provided sliding panel
        /// view controller
        /// </summary>
        /// <param name="panelType">Panel type.</param>
        /// <param name="navigationViewController"></param>
        /// <param name="viewToAdd">Mvx controller.</param>
        protected void AddPanel(PanelType panelType, SlidingPanelsNavigationViewController navigationViewController, UIViewController viewToAdd)
        {
            // use the first view to create a view of the desired type
            // We only do this because there's no convenient way to create a view from inside the presenter

            // Insert the view into a new container (of the right type) and insert
            // that into the sliding panels controller
            switch (panelType)
            {
            case PanelType.LeftPanel:
                navigationViewController.InsertPanel(new LeftPanelContainer(viewToAdd));
                break;

            case PanelType.RightPanel:
                navigationViewController.InsertPanel(new RightPanelContainer(viewToAdd));
                break;

            case PanelType.BottomPanel:
                navigationViewController.InsertPanel(new BottomPanelContainer(viewToAdd));
                break;

            default:
                throw new ArgumentException("PanelType is invalid");
            }
        }
        /// <summary>
        /// Overrides the default presenters method so that we can instead create a sliding panel
        /// view controller and use that as our application navigation view controller
        /// </summary>
        /// <returns>The navigation controller.</returns>
        /// <param name="viewController">View controller.</param>
        protected override UINavigationController CreateNavigationController(UIViewController viewController)
        {
            SlidingPanelsNavigationViewController navController = new SlidingPanelsNavigationViewController(viewController);

            RootController = new UIViewController();
            return(navController);
        }
Exemplo n.º 3
0
        protected override UINavigationController CreateNavigationController(UIViewController viewController)
        {
            var navController = new SlidingPanelsNavigationViewController(viewController);

            navController.CanSwipeToShowPanel =
                _ => !navController.TopViewController.HasAttribute <DisableMenuGestureAttribute>();
            navController.View.Layer.ShadowRadius = 0;

            _rootViewController = new UIViewController();

            return(navController);
        }
Exemplo n.º 4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            SlidingPanelsNavigationViewController navController = NavigationController as SlidingPanelsNavigationViewController;

            // Perform any additional setup after loading the view, typically from a nib.
            LeftArrowImage.Image  = UIImage.FromBundle("Images/LeftArrow.png");
            UpArrowImage.Image    = UIImage.FromBundle("Images/UpArrow.png");
            RightArrowImage.Image = UIImage.FromBundle("Images/RightArrow.png");

            NavigationController.NavigationBar.TintColor = UIColor.Black;
        }
Exemplo n.º 5
0
        private UIBarButtonItem CreateSliderButton(string imageName, PanelType panelType)
        {
            UIButton button = new UIButton(new RectangleF(0, 0, 40f, 40f));

            button.SetBackgroundImage(UIImage.FromBundle(imageName), UIControlState.Normal);
            button.TouchUpInside += delegate
            {
                SlidingPanelsNavigationViewController navController = NavigationController as SlidingPanelsNavigationViewController;
                navController.TogglePanel(panelType);
            };

            return(new UIBarButtonItem(button));
        }
Exemplo n.º 6
0
        protected override void ShowFirstView(UIViewController viewController)
        {
            base.ShowFirstView(viewController);

            _slidingPanelsController = (SlidingPanelsNavigationViewController)MasterNavigationController;

            _rootViewController.AddChildViewController(_slidingPanelsController);
            _rootViewController.View.AddSubview(_slidingPanelsController.View);

            var menuRequest = new MvxViewModelRequest <MenuViewModel>(new MvxBundle(null), null, MvxRequestedBy.UserAction);
            var menuView    = (UIViewController)ViewCreator.CreateView(menuRequest);

            _menuPanelContainer = new LeftPanelContainer(menuView)
            {
                EdgeTolerance = 100f
            };
            _slidingPanelsController.InsertPanel(_menuPanelContainer);
        }
Exemplo n.º 7
0
        //
        // This method is invoked when the application has loaded and is ready to run. In this
        // method you should instantiate the window, load the UI into it and then make the window
        // visible.
        //
        // You have 17 seconds to return from this method, or iOS will terminate your application.
        //
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            window = new UIWindow(UIScreen.MainScreen.Bounds);

            SlidingPanelsNavigationViewController navController = new SlidingPanelsNavigationViewController(new ExampleContentA());

            UIViewController rootController = new UIViewController();

            rootController.AddChildViewController(navController);
            rootController.View.AddSubview(navController.View);

            window.RootViewController = rootController;
            window.MakeKeyAndVisible();

            navController.InsertPanel(new LeftPanelContainer(new LeftPanelViewController(navController)));
            navController.InsertPanel(new RightPanelContainer(new RightPanelViewController(navController)));
            navController.InsertPanel(new BottomPanelContainer(new BottomPanelViewController(navController)));

            return(true);
        }
Exemplo n.º 8
0
 public RightPanelViewController(SlidingPanelsNavigationViewController controller) : base("RightPanelViewController", null)
 {
     PanelsNavController = controller;
 }
Exemplo n.º 9
0
 public BottomPanelViewController(SlidingPanelsNavigationViewController controller) : base("BottomPanelViewController", null)
 {
     PanelsNavController = controller;
 }