2012-02-21 12 views
8

He establecido imágenes en iCarousel. Cuando me desplazo por el carrusel, muestra imágenes delante y detrás. No quiero mostrar imágenes en la parte posterior. Por favor ayuda. Gracias.Ocultando imágenes en la vista iCarouselTypeRotary para iCarousel

+0

tienen u utiliza código de ejemplo de iCarousael entonces también proporcionan diferentes tipos de interruptor que u puede cambiar el tipo que no se muestra la imagen en segundo plano –

+0

explique más a fondo .. – DJPlayer

Respuesta

4

Tendrá que cambiar a un tipo de carrusel personalizado y copiar la implementación de iCarouselTypeRotary en su delegado. Luego implemente -carousel:itemAlphaForOffset: para que los elementos alrededor de la parte posterior tengan un alfa de cero.

+0

Gracias. Mi problema está resuelto –

+0

Genial para escuchar. Si mi respuesta ayudó, ¿podría hacer clic en la marca para marcarla como la respuesta correcta? – Simon

+1

puede dar más descripción sobre este @Simon –

3

En la última versión del iCarousel, la forma más sencilla de hacerlo es establecer view.layer.doubleSided = NO en sus vistas de elementos carrusel, o para utilizar la propiedad iCarouselOptionShowBackfaces, así:

- (CGFloat)carousel:(iCarousel *)_carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value 
{ 
    switch (option) 
    { 
     case iCarouselOptionShowBackfaces: 
     { 
      return NO; 
     } 
     default: 
     { 
      return value; 
     } 
    } 
} 
+2

Lo intenté pero las vistas siguen visibles. Si entiendo la pregunta correctamente, el OP (y yo mismo) estamos tratando de ocultar las vistas que están detrás de las vistas frontales. – daveMac

+0

Intente configurar iCarouselOptionShowBackfaces en NO. –

+1

iCarouselOptionShowBackfaces - no funciona – yasha02

0

Probé la solución sugerida por @NickLockwood pero no parece funcionar :-(Lo agregué a ambos métodos en viewForItemAtIndex & placeholderViewAtIndex. El tamaño de mi imagen es 115 * 115 píxeles y el tamaño del lienzo es 146 * 146 píxeles. el valor de retorno de 'valor de retorno * 0.82f;' en iCarouselOptionSpacing (dentro del método valueForOption) me fue útil.

+0

Parece que está tratando de resolver un problema diferente al que se le hizo en la pregunta. No veo cómo cambiar el espaciado podría afectar si los artículos orientados hacia atrás son visibles o_O –

7

debe implementar el delegado:

Código
- (CGFloat)carousel:(iCarousel *)_carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value{ 
switch (option) 
{ 
    case iCarouselOptionVisibleItems: 
    { 
     return numberOfItemsIntheFront; 
    } 
} 
} 
1

continuación se desvanecen muy bien los elementos que van a la parte posterior. Disfrutar.

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 
} 
Cuestiones relacionadas