2012-02-21 2 views
8

J'ai défini les images dans iCarousel. Lorsque je fais défiler le carrousel, il montre des images à l'avant et à l'arrière. Je ne veux pas afficher les images à l'arrière. S'il vous plaît aider. Je vous remercie.Masquage des images dans la vue iCarouselTypeRotary pour iCarousel

+0

ont u alors utilisé l'exemple de code de iCarousael il fournit également différents types de passage de u peut changer le type qui vous affichera pas l'image en arrière-plan –

+0

s'il vous plaît expliquer plus à fond .. – DJPlayer

Répondre

4

Vous devrez passer à un type de carrousel personnalisé et copier l'implémentation de iCarouselTypeRotary dans votre délégué. Ensuite, implémentez -carousel:itemAlphaForOffset: pour que les éléments autour du dos aient un alpha de zéro.

+0

Merci. Mon problème est résolu. –

+0

Super pour entendre. Si ma réponse m'a aidé, pourriez-vous cliquer sur la coche pour marquer ceci comme la bonne réponse? – Simon

+1

pouvez-vous s'il vous plaît donner plus de description sur ce @Simon –

3

Dans la dernière version de iCarousel, la meilleure façon de le faire est de mettre view.layer.doubleSided = NO sur votre point de vue de l'élément de carrousel, ou d'utiliser la propriété iCarouselOptionShowBackfaces, comme ceci:

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

J'ai essayé mais les vues sont encore visibles. Si je comprends bien la question, l'OP (et moi-même) essayons de cacher les vues qui sont derrière les vues de face. – daveMac

+0

Essayez de définir les iCarouselOptionShowBackfaces sur NO. –

+1

iCarouselOptionShowBackfaces - ne fonctionne pas – yasha02

0

J'ai essayé la solution proposée par @NickLockwood mais ne semble pas fonctionner :-(Je l'ai ajouté aux deux méthodes dans viewForItemAtIndex & placeholderViewAtIndex Ma taille d'image est de 115 * 115 pixels et la taille de la toile est de 146 * 146 pixels. la valeur de retour de 'return value * 0.82f;' sous iCarouselOptionSpacing (à l'intérieur de la méthode valueForOption) a fait l'affaire pour moi:

+0

Il semble que vous essayez de résoudre un problème différent de celui posé dans la question. Je ne vois pas comment la modification de l'espacement pourrait affecter si les objets faisant face vers l'arrière sont visibles o_O –

7

Vous devriez mettre en œuvre le délégué:

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

ci-dessous bien disparaître les éléments qui vont à l'arrière. Prendre plaisir.

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 
} 
Questions connexes