Скрытие назад изображений в iCarouselTypeRotary для iCarousel - PullRequest
8 голосов
/ 21 февраля 2012

Я установил изображения в iCarousel . Когда я прокручиваю карусель, она показывает изображения спереди и сзади. Я не хочу отображать изображения в спину. Пожалуйста помоги. Спасибо.

Ответы [ 5 ]

8 голосов
/ 28 сентября 2013

Вы должны реализовать делегата:

- (CGFloat)carousel:(iCarousel *)_carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value{
 switch (option)
 {
    case iCarouselOptionVisibleItems:
    {
        return numberOfItemsIntheFront;
    }
 }
}
4 голосов
/ 21 февраля 2012

Вам нужно будет перейти к пользовательскому типу карусели и скопировать реализацию iCarouselTypeRotary в свой делегат. Затем реализуйте -carousel:itemAlphaForOffset:, чтобы элементы вокруг спины имели альфа-ноль.

3 голосов
/ 29 июля 2012

В последней версии iCarousel самый простой способ сделать это - установить view.layer.doubleSided = NO в представлениях элементов карусели или использовать свойство iCarouselOptionShowBackfaces, например:

- (CGFloat)carousel:(iCarousel *)_carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value
{
    switch (option)
    {
        case iCarouselOptionShowBackfaces:
        {
            return NO;
        }
        default:
        {
            return value;
        }
    }
 }
2 голосов
/ 06 ноября 2015

Код ниже будет красиво исчезать предметы, которые идут обратно.Наслаждайтесь.

func carousel(carousel: iCarousel, valueForOption option: iCarouselOption, withDefault value: CGFloat) -> CGFloat
{
    if (option == .Spacing)
    {
        return value * 1.1
    }
    else if (option == .FadeMin)
    {
        return 0;
    }
    else if (option == .FadeMax)
    {
        return 0;
    }
    else if (option == .FadeRange)
    {
        return 3;
    }

    return value
}
0 голосов
/ 14 августа 2013

Я попробовал решение, предложенное @NickLockwood, но, похоже, оно не работает :-( Я добавил его к обоим методам в viewForItemAtIndex & placeholderViewAtIndex. Размер моего изображения составляет 115 * 115 пикселей, а размер холста - 146 * 146 пикселей. ОднакоУстановка возвращаемого значения 'return value * 0.82f;' в iCarouselOptionSpacing (внутри метода valueForOption) сделала свое дело.

...