Beispiel #1
0
        public System.Drawing.PointF GetCoordinates(global::Xamarin.Forms.VisualElement element)
        {
            var renderer   = XFPlatform.GetRenderer(element);
            var nativeView = renderer.NativeView;
            var rect       = nativeView.Superview.ConvertPointToView(nativeView.Frame.Location, null);
            var coord      = new System.Drawing.PointF((int)Math.Round(rect.X), (int)Math.Round(rect.Y));

            //Something is wrong with the calculation and must be adjusted by 91.5
            coord.Y = coord.Y - 91.5f;

            return(coord);
        }
        void SetupPage(Page page, int index)
        {
            IVisualElementRenderer renderer = Platform.GetRenderer(page);

            if (renderer == null)
            {
                renderer = Platform.CreateRenderer(page);
                Platform.SetRenderer(page, renderer);
            }
            page.PropertyChanged -= OnPagePropertyChanged;
            page.PropertyChanged += OnPagePropertyChanged;
        }
        void SetControllers()
        {
            var list   = new List <UIViewController>();
            var titles = new List <string>();

            for (var i = 0; i < Tabbed.Children.Count; i++)
            {
                var child = Tabbed.Children[i];
                var v     = child as VisualElement;
                if (v == null)
                {
                    continue;
                }
                var renderer = Platform.GetRenderer(v);
                if (renderer == null)
                {
                    continue;
                }
                list.Add(renderer.ViewController);
                titles.Add(Tabbed.Children[i].Title);
            }
            ViewControllers = list.ToArray();
            TabBar.SetItems(titles);
        }
 void TeardownPage(Page page, int index)
 {
     page.PropertyChanged -= OnPagePropertyChanged;
     Platform.SetRenderer(page, null);
 }
        UIViewController GetViewController(Page page)
        {
            var renderer = Platform.GetRenderer(page);

            return(renderer?.ViewController);
        }