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

时间:2016-07-01 11:31:59

标签: xamarin xamarin.ios xamarin.forms

我正在尝试按照下图显示图像轮播视图。 enter image description here

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

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

1 个答案:

答案 0 :(得分:0)

您可以在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

我添加了iCarousel Component示例,其中添加了UIPageControl:https://github.com/jgold6/XamarinSupportSamples/tree/master/iOS-iCarouselWithPageControl