Xamarin CarouselView ios blank page



我已经通过 nuget 在我的解决方案中安装了 CarouselView 插件。

我用数据模板列表加载轮播视图的 ItemSource。在Android和UWP中就像一个魅力,但在iOS中什么都没有显示。

这是用于加载项源的 c# 代码:

protected override void OnAppearing() {
        base.OnAppearing();    
        AggiungiRigaWOViewModel _AggiungiRigaWOViewModel = new AggiungiRigaWOViewModel(_WoSelezionato);                                                                                                                 
        MyDataTemplateSelector tmpl = new MyDataTemplateSelector();
        carouselView.Position = 0;
        carouselView.ItemsSource = tmpl.ListOfTemplate; // ListOfTemplate is a List<DataTemplate>.
        BindingContext = _AggiungiRigaWOViewModel; 
        UpdateViewModel(_AggiungiRigaWOViewModel);   
    }
}

XAML 页包含以下代码:

<StackLayout>
    <carouselView:CarouselViewControl
                ShowIndicators="True"
                Orientation="Horizontal" 
                IndicatorsTintColor="#ffd800"
                CurrentPageIndicatorTintColor="#ffad00"
                InterPageSpacing="10" 
                ShowArrows="True"
                AnimateTransition="True"
                VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"
                x:Name="carouselView"  >          
            </carouselView:CarouselViewControl>
</StackLayout>

如果我在 Android 或 UWP 上运行此代码,它可以工作,但在 iOS 中只显示一个空白页。

如何使此代码在 IOS 上运行?

项目文件

我检查了您的项目,这是由缺少代码引起的:iOS项目中CarouselViewRenderer.Init()

解决方案:在 iOS 项目中的应用委托中添加代码。

public override bool FinishedLaunching(UIApplication app, NSDictionary options) {
    global::Xamarin.Forms.Forms.Init();
    CarouselViewRenderer.Init();   //Add this line.
    LoadApplication(new App());
    return base.FinishedLaunching(app, options);
}

确保已在 PCL 中安装了 Xamarin.Forms.CarouselView 插件,.机器人.IOS

最新更新