private void InitializeImageSlider() { if (imageItems != null && imageItems.Count > 0) { var storyboard = UIStoryboard.FromName("Sliders", null); baseViewControllers = new List <BaseViewController>(); var aspect = (supportSlideBase as SupportImageSliderView).AspectType; int max = imageItems.Count; SetIndicatorPage(max); for (int i = 0; i < max; i++) { var item = imageItems[i]; var imageViewController = (ImageViewController)storyboard.InstantiateViewController("ImageViewController"); imageViewController.Index = i; imageViewController.SetImage(item, aspect); baseViewControllers.Add(imageViewController); } slideDataSource = new BaseSlideDataSource(baseViewControllers); pageViewController.DataSource = slideDataSource; pageViewController.SetViewControllers(new UIViewController[] { baseViewControllers[0] }, UIPageViewControllerNavigationDirection.Forward, false, null); } else { ClearInstance(); } }
private void InitializeViewSlider() { if (viewItems != null && viewItems.Count > 0) { var storyboard = UIStoryboard.FromName("Sliders", null); baseViewControllers = new List <BaseViewController>(); int max = viewItems.Count; SetIndicatorPage(max); for (int i = 0; i < max; i++) { var item = viewItems[i]; var bounds = supportSlideBase.Bounds; var size = new CoreGraphics.CGRect(bounds.X, bounds.Y, bounds.Width, bounds.Height); Console.WriteLine(size.ToString()); if (Platform.GetRenderer(item) == null) { Platform.SetRenderer(item, Platform.CreateRenderer(item)); } var vRenderer = Platform.GetRenderer(item); vRenderer.NativeView.Frame = size; vRenderer.NativeView.AutoresizingMask = UIViewAutoresizing.All; vRenderer.NativeView.ContentMode = UIViewContentMode.ScaleToFill; vRenderer.Element?.Layout(size.ToRectangle()); var nativeView = vRenderer.NativeView; nativeView.SetNeedsLayout(); //var renderer = Platform.CreateRenderer(item); //Console.WriteLine(supportSlideBase.Bounds); //var size = new CoreGraphics.CGRect(0,0, supportSlideBase.Bounds.Width, supportSlideBase.Bounds.Height); //renderer.NativeView.Frame = size; //renderer.NativeView.AutoresizingMask = UIViewAutoresizing.All; //renderer.NativeView.ContentMode = UIViewContentMode.ScaleToFill; //renderer.Element.Layout(size.ToRectangle()); //var nativeView = renderer.NativeView; //nativeView.SetNeedsLayout(); var blankViewController = (BlankViewController)storyboard.InstantiateViewController("BlankViewController"); blankViewController.Index = i; blankViewController.View = nativeView; baseViewControllers.Add(blankViewController); } slideDataSource = new BaseSlideDataSource(baseViewControllers); pageViewController.DataSource = slideDataSource; pageViewController.SetViewControllers(new UIViewController[] { baseViewControllers[0] }, UIPageViewControllerNavigationDirection.Forward, false, null); } else { ClearInstance(); } }
private void ClearInstance() { if (pageViewController != null) { var storyboard = UIStoryboard.FromName("Sliders", null); var loadingViewController = (LoadingViewController)storyboard.InstantiateViewController("LoadingViewController"); pageViewController.SetViewControllers(new UIViewController[] { loadingViewController }, UIPageViewControllerNavigationDirection.Forward, false, null); pageViewController.DataSource = null; } slideDataSource = null; pageControlBottom.Pages = 0; }