如何在 xamarin ios 中使用轮播视图

Posted

技术标签:

【中文标题】如何在 xamarin ios 中使用轮播视图【英文标题】:How to use carousel View in xamarin ios 【发布时间】:2016-07-01 11:31:58 【问题描述】:

我正在尝试按照下图实现图像轮播视图。

当用户在 Xamarin ios 中滚动图像(突出显示图像下方的相应点)时,我想使用带有突出显示点的轮播视图显示多个图像。

我尝试使用 iCarousel - Xamarin 组件 ( iCarousel Link ) 来显示带点的图像。在这里,我可以在轮播视图中显示图像。谁能建议我解决这个问题。

【问题讨论】:

【参考方案1】:

您可以在 iCarousel 视图下方添加一个 UIPageControl:

UIPageControl pageControl = new UIPageControl(frame));
pageControl.Pages = carousel.NumberOfItems;
pageControl.CurrentPage = carousel.CurrentItemIndex;
// For some reason I needed to set the back ground color 
// for ValueChanged event to fire if you want pages to 
// change when the UIPageControl is tapped.
pageControl.BackgroundColor = UIColor.Black; 
View.AddSubview(pageControl);

然后处理 carousel.ScrollEnd 事件:

carousel.ScrollEnd += (sender, e) =>

    pageControl.CurrentPage = carousel.CurrentItemIndex;
;

如果您希望能够通过点击 UIPageControl 来更改页面:

pageControl.ValueChanged += (sender, e) =>

    carousel.CurrentItemIndex = pageControl.CurrentPage;
;

使用 UIPageControl,您可以点击控件的左侧或右侧以转到上一页或下一页,但您不能通过单击一个点来转到特定页面。见:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPageControl_Class/index.html

我在此处添加了带有 UIPageControl 的 iCarousel 组件示例:https://github.com/jgold6/XamarinSupportSamples/tree/master/iOS-iCarouselWithPageControl

【讨论】:

以上是关于如何在 xamarin ios 中使用轮播视图的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 表单轮播视图 - Android 和 iOS 差异

如何在 Xamarin 中使用具有 android/IOS 特定视图的控制模板

如何在运行时折叠 Xamarin.iOS 中的视图?

如何在 Xamarin 表单中实现分页

如何在 Xamarin.Forms 中为轮播实现活动指示器?

如何在 Visual Studio Xamarin.ios 设计器中添加同级视图?