如何显示iCarousel中心视图只突出显示其他最近的视图显示一些黑暗

时间:2013-05-22 07:25:52

标签: iphone ios objective-c icarousel

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

我使用截图Bellow解释这个: -

恭维iCarousel显示图像像这样: -

enter image description here

我希望像下面这样显示中心imageview的最近的两个图像视图: -

enter image description here

请帮助我谢谢你。

1 个答案:

答案 0 :(得分: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将使它们不可见)。