我已经通过 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