4

我正在使用 iCarousel 显示图像,它的显示类型carousel.type = iCarouselTypeRotary;一切正常,但我需要对其显示 UI 进行一些更改。我只想显示中心视图显示原始 alpha 和颜色,突出显示其他最近的两个视图显示暗。我做了谷歌但没有罚款任何解决方案。请给我一些建议或指导如何实现这一目标。

我用下面的截图解释了这一点:-

在暗示 iCarousel 显示图像后,如下所示:-

在此处输入图像描述

我想显示中心图像视图的最近两个图像视图,如下所示:-

在此处输入图像描述

请帮助我,谢谢。

4

1 回答 1

11

有多种方法可以实现这一目标。carousel:itemAlphaForOffset:您已经收到的答案是一个很好的方法,但它们需要做一些数学运算。

如果您有最新版本的iCarousel,则可以使用选项 API 更轻松地实现这一点。将此方法添加到您的UIViewController(如果您使用的是示例项目,它可能已经在其中,您需要对其进行修改):

- (CGFloat)carousel:(iCarousel *)carousel 
     valueForOption:(iCarouselOption)option 
        withDefault:(CGFloat)value {

    switch (option) {
        case iCarouselOptionFadeMin:
            return 0;
        case iCarouselOptionFadeMax:
            return 0;
        case iCarouselOptionFadeRange:
            return 2;
        default:
            return value;
    }
}

您可以将 2 替换为更大或更小的数字,以增加或减少侧视图的不透明度。例如,值 3 会使它们不那么透明。值 1.5 将使它们更加透明。(值为 1 将使它们不可见)。

于 2013-05-22T08:30:52.893 回答