コード例 #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            View.AddSubview(TabBar);

            AddChildViewController(pageViewController);
            View.AddSubview(pageViewController.View);
            pageViewController.View.TranslatesAutoresizingMaskIntoConstraints = false;
            pageViewController.DidMoveToParentViewController(this);


            var views = NSDictionary.FromObjectsAndKeys(
                new NSObject[] {
                TabBar,
                pageViewController.View
            },
                new NSObject[] {
                (NSString)"tabbar",
                (NSString)"content"
            }
                );

            View.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|-0-[tabbar]-0-[content]-0-|",
                                                                    0,
                                                                    null,
                                                                    views));
            View.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|-0-[tabbar]-0-|",
                                                                    0,
                                                                    null,
                                                                    views));
            View.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|-0-[content]-0-|",
                                                                    0,
                                                                    null,
                                                                    views));


            tabBarHeight = NSLayoutConstraint.Create(
                TabBar,
                NSLayoutAttribute.Height,
                NSLayoutRelation.Equal,
                1, 68
                );
            TabBar.AddConstraint(tabBarHeight);

            if (pageViewController.ViewControllers.Length == 0 &&
                lastSelectedIndex >= 0 && lastSelectedIndex < ViewControllers.Count)
            {
                pageViewController.SetViewControllers(
                    new[] { ViewControllers[lastSelectedIndex] },
                    UIPageViewControllerNavigationDirection.Forward,
                    true, null
                    );
            }

            UpdateSwipe(Tabbed.SwipeEnabled);
            pageViewController.DidFinishAnimating += HandlePageViewControllerDidFinishAnimating;
        }
コード例 #2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            View.AddSubview(TabBar);

            AddChildViewController(pageViewController);
            View.AddSubview(pageViewController.View);
            pageViewController.View.TranslatesAutoresizingMaskIntoConstraints = false;
            pageViewController.DidMoveToParentViewController(this);

            var layoutAttributes = new[]
            {
                NSLayoutAttribute.Leading,
                NSLayoutAttribute.Trailing
            };

            for (int i = 0; i < layoutAttributes.Length; i++)
            {
                View.AddConstraint(NSLayoutConstraint.Create(
                                       TabBar,
                                       layoutAttributes[i],
                                       NSLayoutRelation.Equal,
                                       View,
                                       layoutAttributes[i],
                                       1, 0
                                       ));
                View.AddConstraint(NSLayoutConstraint.Create(
                                       pageViewController.View,
                                       layoutAttributes[i],
                                       NSLayoutRelation.Equal,
                                       View,
                                       layoutAttributes[i],
                                       1, 0
                                       ));
            }

            View.AddConstraint(NSLayoutConstraint.Create(
                                   pageViewController.View,
                                   NSLayoutAttribute.Bottom,
                                   NSLayoutRelation.Equal,
                                   View,
                                   NSLayoutAttribute.Bottom,
                                   1, 0
                                   ));

            View.AddConstraint(NSLayoutConstraint.Create(
                                   TabBar,
                                   NSLayoutAttribute.Top,
                                   NSLayoutRelation.Equal,
                                   View,
                                   NSLayoutAttribute.Top,
                                   1, 0
                                   ));

            View.AddConstraint(NSLayoutConstraint.Create(
                                   pageViewController.View,
                                   NSLayoutAttribute.Top,
                                   NSLayoutRelation.Equal,
                                   TabBar,
                                   NSLayoutAttribute.Bottom,
                                   1, 0
                                   ));

            tabBarHeight = NSLayoutConstraint.Create(
                TabBar,
                NSLayoutAttribute.Height,
                NSLayoutRelation.Equal,
                1, 68
                );
            TabBar.AddConstraint(tabBarHeight);

            pageViewController.SetViewControllers(
                new[] { ViewControllers[0] },
                UIPageViewControllerNavigationDirection.Forward,
                true, null
                );
            pageViewController.WeakDataSource      = this;
            pageViewController.DidFinishAnimating += HandlePageViewControllerDidFinishAnimating;
        }