public override void ViewDidLoad() { base.ViewDidLoad(); View.BackgroundColor = Theme.PrimaryNavigationBarColor; var welcomeViewController = new WelcomeViewController(); welcomeViewController.WantsToDimiss += OnWantsToDismiss; var pages = new UIViewController[] { new CardPageViewController(new AboutViewController()), new CardPageViewController(new PromoteView()), new CardPageViewController(new GoProViewController()), new CardPageViewController(new FeedbackViewController()), new CardPageViewController(welcomeViewController), }; var welcomePageViewController = new UIPageViewController(UIPageViewControllerTransitionStyle.Scroll, UIPageViewControllerNavigationOrientation.Horizontal); welcomePageViewController.DataSource = new PageDataSource(pages); welcomePageViewController.SetViewControllers(new [] { pages[0] }, UIPageViewControllerNavigationDirection.Forward, true, null); welcomePageViewController.View.Frame = new CoreGraphics.CGRect(0, 0, View.Frame.Width, View.Frame.Height); welcomePageViewController.View.AutoresizingMask = UIViewAutoresizing.All; AddChildViewController(welcomePageViewController); Add(welcomePageViewController.View); var nextButton = new UIButton(UIButtonType.Custom); nextButton.SetTitle("Next", UIControlState.Normal); nextButton.TintColor = UIColor.White; nextButton.TitleLabel.Font = UIFont.SystemFontOfSize(14f); nextButton.Frame = new CoreGraphics.CGRect(View.Frame.Width - 50f, View.Frame.Height - 28f, 40f, 20f); nextButton.AutoresizingMask = UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleTopMargin; Add(nextButton); var transitionAction = new Action<UIViewController>(e => { var isLast = pages.Last() == e; //nextButton.Enabled = !isLast; UIView.Transition(nextButton, 0.25f, UIViewAnimationOptions.TransitionCrossDissolve, () => nextButton.SetTitle(isLast ? "Done" : "Next", UIControlState.Normal), null); }); welcomePageViewController.WillTransition += (sender, e) => transitionAction(e.PendingViewControllers[0]); nextButton.TouchUpInside += (sender, e) => { var currentViewController = welcomePageViewController.ViewControllers[0]; var nextViewController = welcomePageViewController.DataSource.GetNextViewController(welcomePageViewController, currentViewController); if (nextViewController != null) { transitionAction(nextViewController); welcomePageViewController.SetViewControllers(new [] { nextViewController }, UIPageViewControllerNavigationDirection.Forward, true, null); } else { OnWantsToDismiss(); } }; }
private IEnumerable<UIViewController> GetPages() { yield return new AboutViewController(); yield return new PromoteView(); yield return new GoProViewController(); yield return new FeedbackViewController(); var welcomeViewController = new WelcomeViewController(); welcomeViewController.WantsToDimiss += OnWantsToDismiss; yield return welcomeViewController; }
private IEnumerable<UIViewController> GetPages() { var appDelegate = UIApplication.SharedApplication.Delegate as AppDelegate; var isPro = appDelegate?.IsPro ?? false; yield return new AboutViewController(); yield return new PromoteView(); if (!isPro) yield return new GoProViewController(); yield return new FeedbackViewController(); var welcomeViewController = new WelcomeViewController(); welcomeViewController.WantsToDimiss += OnWantsToDismiss; yield return welcomeViewController; }
private IEnumerable <UIViewController> GetPages() { yield return(new AboutViewController()); yield return(new PromoteView()); yield return(new GoProViewController()); yield return(new FeedbackViewController()); var welcomeViewController = new WelcomeViewController(); welcomeViewController.WantsToDimiss += OnWantsToDismiss; yield return(welcomeViewController); }
private IEnumerable <UIViewController> GetPages() { var appDelegate = UIApplication.SharedApplication.Delegate as AppDelegate; var isPro = appDelegate?.IsPro ?? false; yield return(new AboutViewController()); yield return(new PromoteView()); if (!isPro) { yield return(new GoProViewController()); } yield return(new FeedbackViewController()); var welcomeViewController = new WelcomeViewController(); welcomeViewController.WantsToDimiss += OnWantsToDismiss; yield return(welcomeViewController); }