如何在Xamarin表单中为旋转木马视图添加选项卡式菜单?

时间:2015-07-22 15:54:07

标签: ios mobile xamarin navigation xamarin.ios

我正在尝试实现一个界面,其中有五个页面可以在其间滑动和拖动,但您也可以通过点击底部的标签栏来更改页面。

我正在为CarouselPage编写自定义渲染器,但我无法在底部添加标签栏,因为iOS UITabBar需要和UIViewControllers数组之间切换,我只能访问这些页面。

这是我到目前为止所尝试的:

[assembly: ExportRenderer (typeof (ExtendedCarouselPage), typeof (ExtendedCarouselPageRenderer))]

namespace CustomRenderer.iOS
{
    public class ExtendedCarouselPageRenderer : CarouselPageRenderer
    {
        protected UITabBar tabBar;

        protected override void OnElementChanged (VisualElementChangedEventArgs e)
        {
                base.OnElementChanged (e);

                tabBar = new UITabBar (new CGRect (0, this.View.Frame.Height * 0.9, this.View.Frame.Width, this.View.Frame.Height * 0.1));
                tabBar.Items = new UITabBarItem[]{
                        new UITabBarItem("Hello",UIImage.FromFile("Homeicon.png"),UIImage.FromFile("HomeiconBlue.png")),
                        new UITabBarItem("World", UIImage.FromFile("Homeicon.png"),UIImage.FromFile("HomeiconBlue.png"))
                };

                tabBar.Bounds = new CGRect (0, this.View.Frame.Height * 0.9, this.View.Frame.Width, this.View.Frame.Height * 0.1);
                tabBar.Frame = new CGRect (0, this.View.Frame.Height * 0.9, this.View.Frame.Width, this.View.Frame.Height * 0.1);

                this.NativeView.AddSubview(tabBar);
        }
    }
}

问题是我找不到很多关于编写更复杂的自定义渲染器的指南。只有Xamarin IOS有很多,但很多代码不适用于自定义渲染器。

0 个答案:

没有答案